From 010c4dc8e0668b28e32d52a0c557c83a95f67cfd Mon Sep 17 00:00:00 2001 From: Przemyslaw Klys Date: Fri, 13 Aug 2021 12:24:51 +0200 Subject: [PATCH] Handling of scriptblock added --- Private/New-GPOZaurrExclusions.ps1 | 43 ++++++++++++++++++------------ 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/Private/New-GPOZaurrExclusions.ps1 b/Private/New-GPOZaurrExclusions.ps1 index d29355e..d6a9365 100644 --- a/Private/New-GPOZaurrExclusions.ps1 +++ b/Private/New-GPOZaurrExclusions.ps1 @@ -1,24 +1,33 @@ function New-GPOZaurrExclusions { [cmdletBinding()] param( - [Array] $ExclusionsArray, - [ScriptBlock] $ExclusionsScriptBlock + [alias('ExcludeGroupPolicies', 'ExclusionsCode', 'ExclusionsArray')][Parameter(Position = 1)][object] $Exclusions ) - if ($ExclusionsArray) { - [string] $Code = @( - '$Exclusions = @(' - [System.Environment]::NewLine - foreach ($Exclusion in $ExclusionsArray) { - " `"$Exclusion`"" + [System.Environment]::NewLine - } - [System.Environment]::NewLine - ')' - ) - $Code - } elseif ( $ExclusionsScriptBlock ) { - throw "ExclusionsScriptBlock is not supported yet" - } else { - throw "ExclusionsArray or ExclusionsScriptBlock must be specified" + if ($Exclusions) { + if ($Exclusions -is [scriptblock]) { + #$Script:Reporting[$T]['Exclusions'] = $Exclusions + #$Script:Reporting[$T]['ExclusionsCode'] = $Exclusions + [string] $Code = @( + "`$Exclusions = {" + " " + $Exclusions.ToString() + "}" + ) + $Code + } + if ($Exclusions -is [Array]) { + #$Script:Reporting[$T]['Exclusions'] = $Exclusions + #$ExclusionsArray = $Exclusions + [string] $Code = @( + '$Exclusions = @(' + [System.Environment]::NewLine + foreach ($Exclusion in $Exclusions) { + " `"$Exclusion`"" + [System.Environment]::NewLine + } + [System.Environment]::NewLine + ')' + ) + $Code + } } } \ No newline at end of file