Skip to content

Commit f1601e9

Browse files
added overwrite if rule exists
1 parent d546b7f commit f1601e9

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

AddTransportRule/run.ps1

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,28 @@ param($Request, $TriggerMetadata)
66
$APIName = $TriggerMetadata.FunctionName
77
Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message "Accessed this API" -Sev "Debug"
88

9-
$RequestParams = $Request.Body.PowerShellCommand | ConvertFrom-Json | Select-Object -Property * -ExcludeProperty GUID
9+
$RequestParams = $Request.Body.PowerShellCommand | ConvertFrom-Json | Select-Object -Property * -ExcludeProperty GUID, Comments
1010

1111
$Tenants = ($Request.body | Select-Object Select_*).psobject.properties.value
1212
$Result = foreach ($Tenantfilter in $tenants) {
13+
$Existing = New-ExoRequest -ErrorAction SilentlyContinue -tenantid $Tenantfilter -cmdlet "Get-TransportRule" -useSystemMailbox $true | Where-Object -Property Identity -EQ $RequestParams.name
1314
try {
14-
$GraphRequest = New-ExoRequest -tenantid $Tenantfilter -cmdlet "New-TransportRule" -cmdParams $RequestParams
15-
"Successfully created transport rule for $tenantfilter."
15+
if ($Existing) {
16+
Write-Host "Found existing"
17+
$RequestParams | Add-Member -NotePropertyValue $RequestParams.name -NotePropertyName Identity
18+
$GraphRequest = New-ExoRequest -tenantid $Tenantfilter -cmdlet "Set-TransportRule" -cmdParams ($RequestParams | Select-Object -Property * -ExcludeProperty UseLegacyRegex) -useSystemMailbox $true
19+
"Successfully set transport rule for $tenantfilter."
20+
}
21+
else {
22+
Write-Host "Creating new"
23+
$GraphRequest = New-ExoRequest -tenantid $Tenantfilter -cmdlet "New-TransportRule" -cmdParams $RequestParams -useSystemMailbox $true
24+
"Successfully created transport rule for $tenantfilter."
25+
}
26+
1627
Write-LogMessage -API $APINAME -tenant $tenantfilter -message "Created transport rule for $($tenantfilter)" -sev Debug
1728
}
1829
catch {
19-
"Could not create created transport rule for $($tenantfilter): $($_.Exception.message)"
30+
"Could not create transport rule for $($tenantfilter): $($_.Exception.message)"
2031
}
2132
}
2233

0 commit comments

Comments
 (0)