Skip to content

Commit 895d8d8

Browse files
committed
feat: PhishingSimulations replace switch
1 parent 67a642f commit 895d8d8

File tree

1 file changed

+25
-11
lines changed

1 file changed

+25
-11
lines changed

Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardPhishingSimulations.ps1

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,18 @@ function Invoke-CIPPStandardPhishingSimulations {
4545
Select-Object -Property Identity,Name,SenderIpRanges,Domains,SenderDomainIs
4646

4747
[String[]]$AddSenderIpRanges = $Settings.SenderIpRanges.value | Where-Object { $_ -notin $RuleState.SenderIpRanges }
48-
[String[]]$RemoveSenderIpRanges = $RuleState.SenderIpRanges | Where-Object { $_ -notin $Settings.SenderIpRanges.value }
48+
if ($Settings.RemoveExtraUrls -eq $true) {
49+
[String[]]$RemoveSenderIpRanges = $RuleState.SenderIpRanges | Where-Object { $_ -notin $Settings.SenderIpRanges.value }
50+
} else {
51+
$RemoveSenderIpRanges = @()
52+
}
4953

5054
[String[]]$AddDomains = $Settings.Domains.value | Where-Object { $_ -notin $RuleState.Domains }
51-
[String[]]$RemoveDomains = $RuleState.Domains | Where-Object { $_ -notin $Settings.Domains.value }
55+
if ($Settings.RemoveExtraUrls -eq $true) {
56+
[String[]]$RemoveDomains = $RuleState.Domains | Where-Object { $_ -notin $Settings.Domains.value }
57+
} else {
58+
$RemoveDomains = @()
59+
}
5260

5361
$RuleIsCorrect = ($RuleState.Name -like "*PhishSimOverr*") -and
5462
($AddSenderIpRanges.Count -eq 0 -and $RemoveSenderIpRanges.Count -eq 0) -and
@@ -59,7 +67,11 @@ function Invoke-CIPPStandardPhishingSimulations {
5967
Select-Object -Property Value
6068

6169
[String[]]$AddEntries = $Settings.PhishingSimUrls.value | Where-Object { $_ -notin $SimUrlState.value }
62-
[String[]]$RemoveEntries = $SimUrlState.value | Where-Object { $_ -notin $Settings.PhishingSimUrls.value }
70+
if ($Settings.RemoveExtraUrls -eq $true) {
71+
[String[]]$RemoveEntries = $SimUrlState.value | Where-Object { $_ -notin $Settings.PhishingSimUrls.value }
72+
} else {
73+
$RemoveEntries = @()
74+
}
6375

6476
$PhishingSimUrlsIsCorrect = ($AddEntries.Count -eq 0 -and $RemoveEntries.Count -eq 0)
6577

@@ -133,14 +145,16 @@ function Invoke-CIPPStandardPhishingSimulations {
133145
ListType = 'Url'
134146
ListSubType = 'AdvancedDelivery'
135147
}
136-
# Remove entries that are not in the settings
137-
If ($RemoveEntries.Count -gt 0) {
138-
$cmdParams.Entries = $RemoveEntries
139-
Try {
140-
$null = New-ExoRequest -TenantId $Tenant -cmdlet 'Remove-TenantAllowBlockListItems' -cmdParams $cmdParams
141-
Write-LogMessage -API 'Standards' -Tenant $Tenant -message "Removed Phishing Simulation URLs from Allowlist." -sev Info
142-
} Catch {
143-
Write-LogMessage -API 'Standards' -Tenant $Tenant -message "Failed to remove Phishing Simulation URLs from Allowlist." -sev Error -LogData $_
148+
if ($Settings.RemoveExtraUrls -eq $true) {
149+
# Remove entries that are not in the settings
150+
If ($RemoveEntries.Count -gt 0) {
151+
$cmdParams.Entries = $RemoveEntries
152+
Try {
153+
$null = New-ExoRequest -TenantId $Tenant -cmdlet 'Remove-TenantAllowBlockListItems' -cmdParams $cmdParams
154+
Write-LogMessage -API 'Standards' -Tenant $Tenant -message "Removed Phishing Simulation URLs from Allowlist." -sev Info
155+
} Catch {
156+
Write-LogMessage -API 'Standards' -Tenant $Tenant -message "Failed to remove Phishing Simulation URLs from Allowlist." -sev Error -LogData $_
157+
}
144158
}
145159
}
146160
# Add entries that are in the settings

0 commit comments

Comments
 (0)