From a40c83835c95308ee2d9cf991c016e7adbc03840 Mon Sep 17 00:00:00 2001 From: Przemyslaw Klys Date: Fri, 4 Dec 2020 11:10:54 +0100 Subject: [PATCH] Update --- Public/Invoke-GPOZaurr.ps1 | 8 ++++---- Public/Remove-GPOZaurr.ps1 | 10 +++++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Public/Invoke-GPOZaurr.ps1 b/Public/Invoke-GPOZaurr.ps1 index 41c801c..7e68ad1 100644 --- a/Public/Invoke-GPOZaurr.ps1 +++ b/Public/Invoke-GPOZaurr.ps1 @@ -2,9 +2,9 @@ [alias('Show-GPOZaurr', 'Show-GPO')] [cmdletBinding()] param( - [scriptblock] $Exclusions, + [Parameter(Position = 1)][scriptblock] $ExcludeGroupPolicies, [string] $FilePath, - [string[]] $Type, + [Parameter(Position = 0)][string[]] $Type, [switch] $PassThru, [switch] $HideHTML, [switch] $HideSteps, @@ -95,8 +95,8 @@ Variables = Copy-Dictionary -Dictionary $Script:GPOConfiguration[$T]['Variables'] } if ($Exclusions) { - $Script:Reporting[$T]['ExclusionsCode'] = $Exclusions - $Script:Reporting[$T]['Exclusions'] = & $Exclusions + $Script:Reporting[$T]['ExclusionsCode'] = $ExcludeGroupPolicies + $Script:Reporting[$T]['Exclusions'] = & $ExcludeGroupPolicies } $TimeLogGPOList = Start-TimeLog diff --git a/Public/Remove-GPOZaurr.ps1 b/Public/Remove-GPOZaurr.ps1 index 3e8dcb1..b7b88ac 100644 --- a/Public/Remove-GPOZaurr.ps1 +++ b/Public/Remove-GPOZaurr.ps1 @@ -1,7 +1,8 @@ function Remove-GPOZaurr { [cmdletBinding(SupportsShouldProcess)] param( - [parameter(Mandatory)][validateset('Empty', 'Unlinked', 'Disabled')][string[]] $Type, + [Parameter(Position = 1)][scriptblock] $ExcludeGroupPolicies, + [parameter(Position = 0, Mandatory)][validateset('Empty', 'Unlinked', 'Disabled')][string[]] $Type, [int] $LimitProcessing, [alias('ForestName')][string] $Forest, [string[]] $ExcludeDomains, @@ -27,8 +28,9 @@ $Count = 0 } Process { - Get-GPOZaurr -Forest $Forest -IncludeDomains $IncludeDomains -ExcludeDomains $ExcludeDomains -ExtendedForestInformation $ExtendedForestInformation -GPOPath $GPOPath | ForEach-Object { + Get-GPOZaurr -Forest $Forest -IncludeDomains $IncludeDomains -ExcludeDomains $ExcludeDomains -ExtendedForestInformation $ExtendedForestInformation -GPOPath $GPOPath -ExcludeGroupPolicies $ExcludeGroupPolicies | ForEach-Object { $DeleteRequired = $false + if ($Type -contains 'Empty') { if ($_.Empty -eq $true) { $DeleteRequired = $true @@ -44,7 +46,9 @@ $DeleteRequired = $true } } - if ($DeleteRequired) { + if ($_.Exclude -eq $true) { + Write-Verbose "Remove-GPOZaurr - Excluded GPO $($_.DisplayName) from $($_.DomainName). Skipping!" + } elseif ($DeleteRequired) { if ($BackupRequired) { try { Write-Verbose "Remove-GPOZaurr - Backing up GPO $($_.DisplayName) from $($_.DomainName)"