@@ -15,12 +15,14 @@ Function Invoke-AddSharedMailbox {
1515
1616 Write-LogMessage - user $User - API $APINAME - message ' Accessed this API' - Sev ' Debug'
1717
18+ # Write to the Azure Functions log stream.
19+ Write-Host ' PowerShell HTTP trigger function processed a request.'
20+
1821 $Results = [System.Collections.ArrayList ]@ ()
1922 $MailboxObject = $Request.body
23+ $Tenant = $MailboxObject.tenantid
2024 $Aliases = $MailboxObject.addedAliases -Split ' \n'
2125
22- # Write to the Azure Functions log stream.
23- Write-Host ' PowerShell HTTP trigger function processed a request.'
2426 try {
2527
2628 $Email = " $ ( $MailboxObject.username ) @$ ( $MailboxObject.domain ) "
@@ -30,17 +32,18 @@ Function Invoke-AddSharedMailbox {
3032 ' primarySMTPAddress' = $Email
3133 Shared = $true
3234 }
33- $AddSharedRequest = New-ExoRequest - tenantid $MailboxObject .tenantid - cmdlet ' New-Mailbox' - cmdparams $BodyToShip
35+ $AddSharedRequest = New-ExoRequest - tenantid $Tenant - cmdlet ' New-Mailbox' - cmdparams $BodyToShip
3436 $Body = $Results.add (" Successfully created shared mailbox: $Email ." )
35- Write-LogMessage - user $User - API $APINAME - tenant $ ( $MailboxObject .tenantid ) - message " Created shared mailbox $ ( $MailboxObject.displayname ) with email $Email " - Sev ' Info'
37+ Write-LogMessage - user $User - API $APINAME - tenant $Tenant - message " Created shared mailbox $ ( $MailboxObject.displayname ) with email $Email " - Sev ' Info'
3638
3739 # Block sign-in for the mailbox
3840 try {
39- $null = Set-CIPPSignInState - userid $AddSharedRequest.ExternalDirectoryObjectId - TenantFilter $ ( $MailboxObject .tenantid ) - APIName $APINAME - ExecutingUser $User - AccountEnabled $false
41+ $null = Set-CIPPSignInState - userid $AddSharedRequest.ExternalDirectoryObjectId - TenantFilter $Tenant - APIName $APINAME - ExecutingUser $User - AccountEnabled $false
4042 $Body = $Results.add (" Blocked sign-in for shared mailbox $Email " )
4143 } catch {
42- $ErrorMessage = Get-NormalizedError - Message $_.Exception.Message
43- $Body = $Results.add (" Failed to block sign-in for shared mailbox $Email . Error: $ErrorMessage " )
44+ $ErrorMessage = Get-CippException - Exception $_
45+ Write-LogMessage - user $User - API $APINAME - tenant $Tenant - message " Failed to block sign-in for shared mailbox $Email . Error: $ ( $ErrorMessage.NormalizedError ) " - Sev ' Error' - LogData $ErrorMessage
46+ $Body = $Results.add (" Failed to block sign-in for shared mailbox $Email . Error: $ ( $ErrorMessage.NormalizedError ) " )
4447 }
4548
4649 # Add aliases to the mailbox if any are provided
@@ -51,21 +54,21 @@ Function Invoke-AddSharedMailbox {
5154 ' Identity' = $AddSharedRequest.Guid
5255 ' EmailAddresses' = @ {' @odata.type' = ' #Exchange.GenericHashTable' ; Add = $Aliases }
5356 }
54- $null = New-ExoRequest - tenantid $MailboxObject .tenantid - cmdlet ' Set-Mailbox' - cmdparams $AliasBodyToShip - UseSystemMailbox $true
55- Write-LogMessage - user $User - API $APINAME - tenant $ ( $MailboxObject .tenantid ) - message " Added aliases to $Email : $ ( $Aliases -join ' ,' ) " - Sev ' Info'
57+ $null = New-ExoRequest - tenantid $Tenant - cmdlet ' Set-Mailbox' - cmdparams $AliasBodyToShip - UseSystemMailbox $true
58+ Write-LogMessage - user $User - API $APINAME - tenant $Tenant - message " Added aliases to $Email : $ ( $Aliases -join ' ,' ) " - Sev ' Info'
5659 $Body = $results.add (" Added Aliases to $Email : $ ( $Aliases -join ' ,' ) " )
5760
5861 } catch {
59- $ErrorMessage = Get-NormalizedError - Message $_.Exception.Message
60- Write-LogMessage - user $User - API $APINAME - tenant $ ( $MailboxObject .tenantid ) - message " Failed to add aliases to $Email : $ErrorMessage " - Sev ' Error'
61- $Body = $results.add (" ERROR: Failed to add aliases to $Email : $ErrorMessage " )
62+ $ErrorMessage = Get-CippException - Exception $_
63+ Write-LogMessage - user $User - API $APINAME - tenant $Tenant - message " Failed to add aliases to $Email : $ ( $ ErrorMessage.NormalizedError ) " - Sev ' Error' - LogData $ErrorMessage
64+ $Body = $results.add (" ERROR: Failed to add aliases to $Email : $ ( $ ErrorMessage.NormalizedError ) " )
6265 }
6366 }
6467 $StatusCode = [HttpStatusCode ]::OK
6568 } catch {
66- $ErrorMessage = Get-NormalizedError - Message $_.Exception.Message
67- Write-LogMessage - user $User - API $APINAME - tenant $ ( $MailboxObject .tenantid ) - message " Failed to create shared mailbox. Error: $ErrorMessage " - Sev ' Error'
68- $Body = $Results.add (" Failed to create Shared Mailbox. $ErrorMessage " )
69+ $ErrorMessage = Get-CippException - Exception $_
70+ Write-LogMessage - user $User - API $APINAME - tenant $Tenant - message " Failed to create shared mailbox. Error: $ ( $ ErrorMessage.NormalizedError ) " - Sev ' Error' - LogData $ErrorMessage
71+ $Body = $Results.add (" Failed to create Shared Mailbox. $ ( $ ErrorMessage.NormalizedError ) " )
6972 $StatusCode = [HttpStatusCode ]::Forbidden
7073 }
7174
0 commit comments