Handling of scriptblock added

This commit is contained in:
Przemyslaw Klys
2021-08-13 12:24:51 +02:00
parent db57b9ee22
commit 010c4dc8e0
+26 -17
View File
@@ -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
}
}
}