Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 15 additions & 9 deletions WDAC-Policy-Wizard/app/MSIX/CreateScannedPolicy.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -15,32 +15,38 @@ param (
[string]$UserPEs
)

# Convert comma-separated strings to arrays for PowerShell cmdlet parameters
$FallbackArray = $Fallback -split ','
$OmitArray = if ($PathsToOmit -ne '') { $PathsToOmit -split ',' } else { @() }

# Run New-CIPolicy -Scan to generate a policy from a directory
# The command needs to be run twice to generate the full policy. Otherwise, the "An item with the same key has already been added." WARNING prevents the full policy from being generated.
# Use -WarningAction SilentlyContinue to suppress the "An item with the same key has already been added." warning
# which previously required running the command twice as a workaround.

# Build optional splat for OmitPaths
$omitSplat = @{}
if ($OmitArray.Count -gt 0) { $omitSplat['OmitPaths'] = $OmitArray }

if($Deny -eq "False")
{
if($UserPEs -eq "True")
{
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit -UserPEs
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit -UserPEs
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $FallbackArray @omitSplat -UserPEs -WarningAction SilentlyContinue
}
else
{
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $FallbackArray @omitSplat -WarningAction SilentlyContinue
}
}
else
{
if($UserPEs -eq "True")
{
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit -UserPEs -Deny
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit -UserPEs -Deny
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $FallbackArray @omitSplat -UserPEs -Deny -WarningAction SilentlyContinue
}
else
{
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit -Deny
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit -Deny
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $FallbackArray @omitSplat -Deny -WarningAction SilentlyContinue
}
}
# SIG # Begin signature block
Expand Down
23 changes: 14 additions & 9 deletions WDAC-Policy-Wizard/app/Scripts/CreateScannedPolicy.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -15,32 +15,37 @@ param (
[string]$UserPEs
)

# Convert comma-separated strings to arrays for PowerShell cmdlet parameters
$FallbackArray = $Fallback -split ','
$OmitArray = if ($PathsToOmit -ne '') { $PathsToOmit -split ',' } else { @() }

# Run New-CIPolicy -Scan to generate a policy from a directory
# The command needs to be run twice to generate the full policy. Otherwise, the "An item with the same key has already been added." WARNING prevents the full policy from being generated.
# Use -WarningAction SilentlyContinue to suppress the "An item with the same key has already been added." warning
# which previously required running the command twice as a workaround.
# Build optional splat for OmitPaths
$omitSplat = @{}
if ($OmitArray.Count -gt 0) { $omitSplat['OmitPaths'] = $OmitArray }

if($Deny -eq "False")
{
if($UserPEs -eq "True")
{
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit -UserPEs
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit -UserPEs
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $FallbackArray @omitSplat -UserPEs -WarningAction SilentlyContinue
}
else
{
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $FallbackArray @omitSplat -WarningAction SilentlyContinue
}
}
else
{
if($UserPEs -eq "True")
{
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit -UserPEs -Deny
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit -UserPEs -Deny
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $FallbackArray @omitSplat -UserPEs -Deny -WarningAction SilentlyContinue
}
else
{
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit -Deny
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $Fallback -OmitPaths $PathsToOmit -Deny
New-CIPolicy -ScanPath $ScanPath -Level $Level -FilePath $PolicyPath -Fallback $FallbackArray @omitSplat -Deny -WarningAction SilentlyContinue
}
}
# SIG # Begin signature block
Expand Down
39 changes: 27 additions & 12 deletions WDAC-Policy-Wizard/app/src/CustomRuleConditionsPanel.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading