Compare commits

...

10 Commits

Author SHA1 Message Date
Przemyslaw Klys 096e6983c6 Update 2021-12-06 09:36:45 +01:00
Przemyslaw Klys ea4ef03e4f Added additional property 2021-12-06 09:35:54 +01:00
Przemyslaw Klys 61ca7fede4 Update docs 2021-12-05 11:30:01 +01:00
Przemyslaw Klys 5cc0db1031 Update docs 2021-12-05 11:29:43 +01:00
Przemyslaw Klys d748afda1d Version bump 2021-12-05 11:28:15 +01:00
Przemyslaw Klys 9165f23f1b Update changelog 2021-12-05 11:27:49 +01:00
Przemyslaw Klys 1c700cd27c Update docs 2021-12-05 11:26:54 +01:00
Przemyslaw Klys a566d4716a Update docs 2021-12-05 11:26:47 +01:00
Przemyslaw Klys 196163cc1f Version bump 2021-12-05 11:26:39 +01:00
Przemyslaw Klys a546a023ff added docs 2021-12-05 11:26:31 +01:00
6 changed files with 307 additions and 254 deletions
+4 -1
View File
@@ -1,9 +1,12 @@
# GPOZaurr Release History
## 0.0.150 - 2021.12.06
- ️ Improves `GPOUpdates` report from `Invoke-GPOZaurr` - additional property
## 0.0.149 - 2021.12.05
- ☑ Improved docs
## 0.0.148 - 2021.12.05
- ☑ Improved `Invoke-GPOZaurr` - type `GPOOrganizationalUnit` - excludes default redirected computers/users OUs [#30](https://github.com/EvotecIT/GPOZaurr/issues/30)
- ☑ Improved `Get-GPOZaurrOrganizationalUnit` - excludes default redirected computers/users OUs as per [#30](https://github.com/EvotecIT/GPOZaurr/issues/30)
## 0.0.147 - 2021.12.03
- 📃 Updates documentation
## 0.0.146 - 2021.11.02
+152 -146
View File
@@ -8,7 +8,8 @@ schema: 2.0.0
# Get-GPOZaurr
## SYNOPSIS
{{ Fill in the Synopsis }}
Gets information about all Group Policies.
Similar to what Get-GPO provides by default.
## SYNTAX
@@ -16,121 +17,52 @@ schema: 2.0.0
Get-GPOZaurr [[-ExcludeGroupPolicies] <ScriptBlock>] [[-GPOName] <String>] [[-GPOGuid] <String>]
[[-Type] <String[]>] [[-Forest] <String>] [[-ExcludeDomains] <String[]>] [[-IncludeDomains] <String[]>]
[[-ExtendedForestInformation] <IDictionary>] [[-GPOPath] <String[]>] [-PermissionsOnly] [-OwnerOnly]
[-Limited] [-ReturnObject] [[-ADAdministrativeGroups] <IDictionary>] [<CommonParameters>]
[-Limited] [[-ADAdministrativeGroups] <IDictionary>] [<CommonParameters>]
```
## DESCRIPTION
{{ Fill in the Description }}
Gets information about all Group Policies.
Similar to what Get-GPO provides by default.
## EXAMPLES
### Example 1
```powershell
PS C:\> {{ Add example code here }}
### EXAMPLE 1
```
$GPOs = Get-GPOZaurr
```
{{ Add example description here }}
$GPOs | Format-Table DisplayName, Owner, OwnerSID, OwnerType
### EXAMPLE 2
```
$GPO = Get-GPOZaurr -GPOName 'ALL | Allow use of biometrics'
```
$GPO | Format-List *
### EXAMPLE 3
```
$GPOS = Get-GPOZaurr -ExcludeGroupPolicies {
```
Skip-GroupPolicy -Name 'de14_usr_std'
Skip-GroupPolicy -Name 'de14_usr_std' -DomaiName 'ad.evotec.xyz'
Skip-GroupPolicy -Name 'All | Trusted Websites' #-DomaiName 'ad.evotec.xyz'
'{D39BF08A-87BF-4662-BFA0-E56240EBD5A2}'
'COMPUTERS | Enable Sets'
}
$GPOS | Format-Table -AutoSize *
## PARAMETERS
### -ADAdministrativeGroups
{{ Fill ADAdministrativeGroups Description }}
```yaml
Type: IDictionary
Parameter Sets: (All)
Aliases:
Required: False
Position: 9
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -ExcludeDomains
{{ Fill ExcludeDomains Description }}
```yaml
Type: String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: 5
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -ExcludeGroupPolicies
{{ Fill ExcludeGroupPolicies Description }}
Marks the GPO as excluded from the list.
```yaml
Type: ScriptBlock
Parameter Sets: (All)
Aliases:
Required: False
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -ExtendedForestInformation
{{ Fill ExtendedForestInformation Description }}
```yaml
Type: IDictionary
Parameter Sets: (All)
Aliases:
Required: False
Position: 7
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -Forest
{{ Fill Forest Description }}
```yaml
Type: String
Parameter Sets: (All)
Aliases: ForestName
Required: False
Position: 4
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -GPOGuid
{{ Fill GPOGuid Description }}
```yaml
Type: String
Parameter Sets: (All)
Aliases: GUID, GPOID
Required: False
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -GPOName
{{ Fill GPOName Description }}
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 1
Default value: None
@@ -138,14 +70,106 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -GPOPath
{{ Fill GPOPath Description }}
### -GPOName
Provide a GPOName to get information about a specific GPO.
```yaml
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -GPOGuid
Provide a GPOGuid to get information about a specific GPO.
```yaml
Type: String
Parameter Sets: (All)
Aliases: GUID, GPOID
Required: False
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -Type
Choose a specific type of GPO.
Options are: 'Empty', 'Unlinked', 'Disabled', 'NoApplyPermission', 'All'.
Default is All.
```yaml
Type: String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: 4
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -Forest
Target different Forest, by default current forest is used
```yaml
Type: String
Parameter Sets: (All)
Aliases: ForestName
Required: False
Position: 5
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -ExcludeDomains
Exclude domain from search, by default whole forest is scanned
```yaml
Type: String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: 6
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -IncludeDomains
Include only specific domains, by default whole forest is scanned
```yaml
Type: String[]
Parameter Sets: (All)
Aliases: Domain, Domains
Required: False
Position: 7
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -ExtendedForestInformation
Ability to provide Forest Information from another command to speed up processing
```yaml
Type: IDictionary
Parameter Sets: (All)
Aliases:
Required: False
Position: 8
Default value: None
@@ -153,53 +177,23 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -IncludeDomains
{{ Fill IncludeDomains Description }}
### -GPOPath
Define GPOPath where the XML files are located to be analyzed instead of asking Active Directory
```yaml
Type: String[]
Parameter Sets: (All)
Aliases: Domain, Domains
Required: False
Position: 6
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -Limited
{{ Fill Limited Description }}
```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -OwnerOnly
{{ Fill OwnerOnly Description }}
```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Position: 9
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -PermissionsOnly
{{ Fill PermissionsOnly Description }}
Only show permissions, by default all information is shown
```yaml
Type: SwitchParameter
@@ -208,13 +202,13 @@ Aliases:
Required: False
Position: Named
Default value: None
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```
### -ReturnObject
{{ Fill ReturnObject Description }}
### -OwnerOnly
only show owner information, by default all information is shown
```yaml
Type: SwitchParameter
@@ -223,22 +217,36 @@ Aliases:
Required: False
Position: Named
Default value: None
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```
### -Type
{{ Fill Type Description }}
### -Limited
Provide limited output without analyzing XML data
```yaml
Type: String[]
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Accepted values: Empty, Unlinked, Disabled, NoApplyPermission, All
Required: False
Position: 3
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```
### -ADAdministrativeGroups
Ability to provide ADAdministrativeGroups from different function to speed up processing
```yaml
Type: IDictionary
Parameter Sets: (All)
Aliases:
Required: False
Position: 10
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
@@ -249,11 +257,9 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
## INPUTS
### None
## OUTPUTS
### System.Object
## NOTES
General notes
## RELATED LINKS
+105 -103
View File
@@ -8,7 +8,7 @@ schema: 2.0.0
# Get-GPOZaurrUpdates
## SYNOPSIS
{{ Fill in the Synopsis }}
Gets the list of GPOs created or updated in the last X number of days.
## SYNTAX
@@ -26,113 +26,24 @@ Get-GPOZaurrUpdates [-Forest <String>] [-ExcludeDomains <String[]>] [-IncludeDom
```
## DESCRIPTION
{{ Fill in the Description }}
Gets the list of GPOs created or updated in the last X number of days.
## EXAMPLES
### Example 1
```powershell
PS C:\> {{ Add example code here }}
### EXAMPLE 1
```
Get-GPOZaurrUpdates -DateRange Last14Days -DateProperty WhenCreated, WhenChanged -Verbose -IncludeDomains 'ad.evotec.pl' | Format-List
```
{{ Add example description here }}
### EXAMPLE 2
```
Get-GPOZaurrUpdates -DateRange Last14Days -DateProperty WhenCreated -Verbose | Format-Table
```
## PARAMETERS
### -DateFrom
{{ Fill DateFrom Description }}
```yaml
Type: DateTime
Parameter Sets: Dates
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -DateProperty
{{ Fill DateProperty Description }}
```yaml
Type: String[]
Parameter Sets: (All)
Aliases:
Accepted values: WhenCreated, WhenChanged
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -DateRange
{{ Fill DateRange Description }}
```yaml
Type: String
Parameter Sets: DateRange
Aliases:
Accepted values: PastHour, CurrentHour, PastDay, CurrentDay, PastMonth, CurrentMonth, PastQuarter, CurrentQuarter, Last14Days, Last21Days, Last30Days, Last7Days, Last3Days, Last1Days
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -DateTo
{{ Fill DateTo Description }}
```yaml
Type: DateTime
Parameter Sets: Dates
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -ExcludeDomains
{{ Fill ExcludeDomains Description }}
```yaml
Type: String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -ExtendedForestInformation
{{ Fill ExtendedForestInformation Description }}
```yaml
Type: IDictionary
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -Forest
{{ Fill Forest Description }}
Target different Forest, by default current forest is used
```yaml
Type: String
@@ -146,8 +57,24 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -ExcludeDomains
Exclude domain from search, by default whole forest is scanned
```yaml
Type: String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -IncludeDomains
{{ Fill IncludeDomains Description }}
Include only specific domains, by default whole forest is scanned
ą
```yaml
Type: String[]
@@ -161,16 +88,91 @@ Accept pipeline input: False
Accept wildcard characters: False
```
### -DateFrom
Provide a date from which to start the search, by default the last X days are used
```yaml
Type: DateTime
Parameter Sets: Dates
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -DateTo
Provide a date to which to end the search, by default the last X days are used
```yaml
Type: DateTime
Parameter Sets: Dates
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -DateRange
Provide a date range to search for, by default the last X days are used
```yaml
Type: String
Parameter Sets: DateRange
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### -DateProperty
Choose a date property.
It can be WhenCreated or WhenChanged or both.
By default whenCreated is used for comparison purposes
```yaml
Type: String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: WhenCreated
Accept pipeline input: False
Accept wildcard characters: False
```
### -ExtendedForestInformation
Ability to provide Forest Information from another command to speed up processing
```yaml
Type: IDictionary
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
### CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
## INPUTS
### None
## OUTPUTS
### System.Object
## NOTES
General notes
## RELATED LINKS
+3 -2
View File
@@ -30,7 +30,8 @@ Provides Backup functionality to Group Policies
{{ Fill in the Synopsis }}
### [Get-GPOZaurr](Get-GPOZaurr.md)
{{ Fill in the Synopsis }}
Gets information about all Group Policies.
Similar to what Get-GPO provides by default.
### [Get-GPOZaurrAD](Get-GPOZaurrAD.md)
{{ Fill in the Synopsis }}
@@ -105,7 +106,7 @@ Detects Group Policy missing Authenticated Users permission while not having hig
Gets DFSR information from the SYSVOL DFSR
### [Get-GPOZaurrUpdates](Get-GPOZaurrUpdates.md)
{{ Fill in the Synopsis }}
Gets the list of GPOs created or updated in the last X number of days.
### [Get-GPOZaurrWMI](Get-GPOZaurrWMI.md)
Get Group Policy WMI filter
+2 -2
View File
@@ -8,7 +8,7 @@
Description = 'Group Policy Eater is a PowerShell module that aims to gather information about Group Policies but also allows fixing issues that you may find in them.'
FunctionsToExport = @('Add-GPOPermission', 'Add-GPOZaurrPermission', 'Backup-GPOZaurr', 'Clear-GPOZaurrSysvolDFSR', 'ConvertFrom-CSExtension', 'Find-CSExtension', 'Get-GPOZaurr', 'Get-GPOZaurrAD', 'Get-GPOZaurrBackupInformation', 'Get-GPOZaurrBroken', 'Get-GPOZaurrBrokenLink', 'Get-GPOZaurrDictionary', 'Get-GPOZaurrDuplicateObject', 'Get-GPOZaurrFiles', 'Get-GPOZaurrFilesPolicyDefinition', 'Get-GPOZaurrFolders', 'Get-GPOZaurrInheritance', 'Get-GPOZaurrLegacyFiles', 'Get-GPOZaurrLink', 'Get-GPOZaurrLinkSummary', 'Get-GPOZaurrNetLogon', 'Get-GPOZaurrOrganizationalUnit', 'Get-GPOZaurrOwner', 'Get-GPOZaurrPassword', 'Get-GPOZaurrPermission', 'Get-GPOZaurrPermissionAnalysis', 'Get-GPOZaurrPermissionConsistency', 'Get-GPOZaurrPermissionIssue', 'Get-GPOZaurrPermissionRoot', 'Get-GPOZaurrPermissionSummary', 'Get-GPOZaurrSysvolDFSR', 'Get-GPOZaurrUpdates', 'Get-GPOZaurrWMI', 'Invoke-GPOZaurr', 'Invoke-GPOZaurrContent', 'Invoke-GPOZaurrPermission', 'Invoke-GPOZaurrSupport', 'New-GPOZaurrWMI', 'Optimize-GPOZaurr', 'Remove-GPOPermission', 'Remove-GPOZaurr', 'Remove-GPOZaurrBroken', 'Remove-GPOZaurrDuplicateObject', 'Remove-GPOZaurrFolders', 'Remove-GPOZaurrLegacyFiles', 'Remove-GPOZaurrLinkEmptyOU', 'Remove-GPOZaurrPermission', 'Remove-GPOZaurrWMI', 'Repair-GPOZaurrBrokenLink', 'Repair-GPOZaurrNetLogonOwner', 'Repair-GPOZaurrPermission', 'Repair-GPOZaurrPermissionConsistency', 'Restore-GPOZaurr', 'Save-GPOZaurrFiles', 'Set-GPOOwner', 'Set-GPOZaurrOwner', 'Set-GPOZaurrStatus', 'Skip-GroupPolicy')
GUID = 'f7d4c9e4-0298-4f51-ad77-e8e3febebbde'
ModuleVersion = '0.0.147'
ModuleVersion = '0.0.150'
PowerShellVersion = '5.1'
PrivateData = @{
PSData = @{
@@ -26,7 +26,7 @@
ModuleName = 'ADEssentials'
Guid = '9fc9fd61-7f11-4f4b-a527-084086f1905f'
}, @{
ModuleVersion = '0.0.163'
ModuleVersion = '0.0.164'
ModuleName = 'PSWriteHTML'
Guid = 'a7bdf640-f5cb-4acf-9de0-365b322d245c'
}, 'CimCmdlets', 'Microsoft.PowerShell.Management', 'Microsoft.PowerShell.Utility', 'Microsoft.PowerShell.Security')
+41
View File
@@ -1,4 +1,44 @@
function Get-GPOZaurrUpdates {
<#
.SYNOPSIS
Gets the list of GPOs created or updated in the last X number of days.
.DESCRIPTION
Gets the list of GPOs created or updated in the last X number of days.
.PARAMETER Forest
Target different Forest, by default current forest is used
.PARAMETER ExcludeDomains
Exclude domain from search, by default whole forest is scanned
.PARAMETER IncludeDomains
Include only specific domains, by default whole forest is scanned
ą
.PARAMETER DateFrom
Provide a date from which to start the search, by default the last X days are used
.PARAMETER DateTo
Provide a date to which to end the search, by default the last X days are used
.PARAMETER DateRange
Provide a date range to search for, by default the last X days are used
.PARAMETER DateProperty
Choose a date property. It can be WhenCreated or WhenChanged or both. By default whenCreated is used for comparison purposes
.PARAMETER ExtendedForestInformation
Ability to provide Forest Information from another command to speed up processing
.EXAMPLE
Get-GPOZaurrUpdates -DateRange Last14Days -DateProperty WhenCreated, WhenChanged -Verbose -IncludeDomains 'ad.evotec.pl' | Format-List
.EXAMPLE
Get-GPOZaurrUpdates -DateRange Last14Days -DateProperty WhenCreated -Verbose | Format-Table
.NOTES
General notes
#>
[cmdletBinding(DefaultParameterSetName = 'DateRange')]
param(
[parameter(ParameterSetName = 'Dates')]
@@ -86,6 +126,7 @@
}
[PSCustomObject] @{
DisplayName = $GPO.DisplayName
GUID = ConvertFrom-DistinguishedName -DistinguishedName $GPO.GPODistinguishedName
DomainName = $GPO.DomainName
Owner = $GPO.Owner
OwnerName = $Owner.Name