Skip to content

Commit 41eb644

Browse files
committed
Fix exchange connectors
1 parent 83cb46a commit 41eb644

File tree

4 files changed

+26
-27
lines changed

4 files changed

+26
-27
lines changed

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Invoke-EditExConnector.ps1

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,22 @@ Function Invoke-EditExConnector {
1111
param($Request, $TriggerMetadata)
1212

1313
$APIName = $TriggerMetadata.FunctionName
14-
Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug'
15-
$Tenantfilter = $request.Query.tenantfilter
16-
17-
18-
$Params = @{
19-
Identity = $request.query.guid
20-
}
21-
14+
Write-LogMessage -user $Request.Headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug'
15+
$Tenantfilter = $request.Query.tenantfilter ?? $Request.Body.tenantfilter
2216
try {
23-
$state = if ($request.query.state -eq 'enable') { $true } else { $false }
24-
$Params = @{ Identity = $request.query.GUID; Enabled = $state }
25-
$GraphRequest = New-ExoRequest -tenantid $Tenantfilter -cmdlet "Set-$($Request.query.Type)Connector" -cmdParams $params -UseSystemMailbox $true
26-
$Result = "Set Connector $($Request.query.guid) to $($request.query.State)"
17+
$ConnectorState = $Request.Query.State ?? $Request.Body.State
18+
$State = if ($ConnectorState -eq 'enable') { $true } else { $false }
19+
$Guid = $Request.Query.GUID ?? $Request.Body.GUID
20+
$type = $Request.Query.Type ?? $Request.Body.Type
21+
$Params = @{
22+
Identity = $Guid
23+
Enabled = $State
24+
}
25+
$null = New-ExoRequest -tenantid $Tenantfilter -cmdlet "Set-$($Type)Connector" -cmdParams $params -UseSystemMailbox $true
26+
$Result = "Set Connector $($Guid) to $($ConnectorState)"
2727
Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $tenantfilter -message "Set Connector $($Request.query.guid) to $($request.query.State)" -sev 'Info'
28-
}
29-
catch {
30-
Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $tenantfilter -message "Failed setting Connector $($Request.query.guid) to $($request.query.State). Error:$($_.Exception.Message)" -Sev 'Error'
28+
} catch {
29+
Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $tenantfilter -message "Failed setting Connector $($Guid) to $($ConnectorState). Error:$($_.Exception.Message)" -Sev 'Error'
3130
$ErrorMessage = Get-NormalizedError -Message $_.Exception
3231
$Result = $ErrorMessage
3332
}

Modules/CIPPCore/Public/Entrypoints/Invoke-ListExConnectorTemplates.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ Function Invoke-ListExConnectorTemplates {
2121
$GUID = $_.RowKey
2222
$Direction = $_.direction
2323
$data = $_.JSON | ConvertFrom-Json
24-
$data | Add-Member -NotePropertyName 'GUID' -NotePropertyValue $GUID
25-
$data | Add-Member -NotePropertyName 'cippconnectortype' -NotePropertyValue $Direction
24+
$data | Add-Member -NotePropertyName 'GUID' -NotePropertyValue $GUID -Force
25+
$data | Add-Member -NotePropertyName 'cippconnectortype' -NotePropertyValue $Direction -Force
2626
$data
2727
} | Sort-Object -Property displayName
2828

Modules/CIPPCore/Public/Invoke-RemoveExConnector.ps1

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@ Function Invoke-RemoveExConnector {
1313
$APIName = $TriggerMetadata.FunctionName
1414
$User = $request.headers.'x-ms-client-principal'
1515
Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug'
16-
$Tenantfilter = $request.Query.tenantfilter
17-
16+
$Tenantfilter = $request.Query.tenantfilter ?? $Request.Body.tenantfilter
17+
$Type = $Request.Query.Type ?? $Request.Body.Type
1818
try {
19-
20-
$Params = @{ Identity = $request.query.GUID }
21-
$null = New-ExoRequest -tenantid $Tenantfilter -cmdlet "Remove-$($Request.query.Type)Connector" -cmdParams $params -useSystemMailbox $true
22-
$Result = "Deleted $($Request.query.guid)"
23-
Write-LogMessage -user $User -API $APIName -tenant $tenantfilter -message "Deleted transport rule $($Request.query.guid)" -sev Debug
19+
$Guid = $Request.Query.GUID ?? $Request.Body.GUID
20+
$Params = @{ Identity = $Guid }
21+
$null = New-ExoRequest -tenantid $Tenantfilter -cmdlet "Remove-$($Type)Connector" -cmdParams $params -useSystemMailbox $true
22+
$Result = "Deleted $($Guid)"
23+
Write-LogMessage -user $User -API $APIName -tenant $tenantfilter -message "Deleted transport rule $($Guid)" -sev Debug
2424
} catch {
2525
$ErrorMessage = Get-CippException -Exception $_
26-
Write-LogMessage -user $User -API $APIName -tenant $tenantfilter -message "Failed deleting transport rule $($Request.query.guid). Error:$($ErrorMessage.NormalizedError)" -Sev Error -LogData $ErrorMessage
26+
Write-LogMessage -user $User -API $APIName -tenant $tenantfilter -message "Failed deleting transport rule $($Guid). Error:$($ErrorMessage.NormalizedError)" -Sev Error -LogData $ErrorMessage
2727
$Result = $ErrorMessage.NormalizedError
2828
}
2929
# Associate values to output bindings by calling 'Push-OutputBinding'.

Modules/CIPPCore/Public/Invoke-RemoveExConnectorTemplate.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ Function Invoke-RemoveExConnectorTemplate {
1414
$User = $request.headers.'x-ms-client-principal'
1515
Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug'
1616

17-
$ID = $request.query.id
17+
$ID = $Request.Query.ID ?? $Request.Body.ID
1818
try {
1919
$Table = Get-CippTable -tablename 'templates'
20-
$Filter = "PartitionKey eq 'ExConnectorTemplate' and RowKey eq '$id'"
20+
$Filter = "PartitionKey eq 'ExConnectorTemplate' and RowKey eq '$ID'"
2121
$ClearRow = Get-CIPPAzDataTableEntity @Table -Filter $Filter -Property PartitionKey, RowKey
2222
Remove-AzDataTableEntity -Force @Table -Entity $clearRow
2323
Write-LogMessage -user $User -API $APINAME -message "Removed Exchange Connector Template with ID $ID." -Sev 'Info'

0 commit comments

Comments
 (0)