Skip to content

Commit 56231d6

Browse files
authored
Merge pull request KelvinTegelaar#1715 from kris6673/copysent
Fix: Enhance Set-CIPPMessageCopy to support SendOnBehalf
2 parents c016119 + c35c63d commit 56231d6

File tree

2 files changed

+27
-12
lines changed

2 files changed

+27
-12
lines changed

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

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Function Invoke-ExecCopyForSent {
1+
function Invoke-ExecCopyForSent {
22
<#
33
.FUNCTIONALITY
44
Entrypoint
@@ -13,13 +13,21 @@ Function Invoke-ExecCopyForSent {
1313

1414

1515
# Interact with query parameters or the body of the request.
16-
$TenantFilter = $Request.Query.TenantFilter ?? $Request.Body.TenantFilter
16+
$TenantFilter = $Request.Query.tenantFilter ?? $Request.Body.tenantFilter
1717
$UserID = $Request.Query.ID ?? $Request.Body.ID
18-
$MessageCopyForSentAsEnabled = $Request.Query.MessageCopyForSentAsEnabled ?? $Request.Body.MessageCopyForSentAsEnabled
19-
$MessageCopyForSentAsEnabled = [System.Convert]::ToBoolean($MessageCopyForSentAsEnabled)
18+
$MessageCopyState = $Request.Query.messageCopyState ?? $Request.Body.messageCopyState
19+
$MessageCopyState = [System.Convert]::ToBoolean($MessageCopyState)
2020

21-
Try {
22-
$Result = Set-CIPPMessageCopy -userid $UserID -tenantFilter $TenantFilter -APIName $APIName -Headers $Headers -MessageCopyForSentAsEnabled $MessageCopyForSentAsEnabled
21+
try {
22+
$params = @{
23+
UserId = $UserID
24+
TenantFilter = $TenantFilter
25+
APIName = $APIName
26+
Headers = $Headers
27+
MessageCopyForSentAsEnabled = $MessageCopyState
28+
MessageCopyForSendOnBehalfEnabled = $MessageCopyState
29+
}
30+
$Result = Set-CIPPMessageCopy @params
2331
$StatusCode = [HttpStatusCode]::OK
2432
} catch {
2533
$Result = "$($_.Exception.Message)"

Modules/CIPPCore/Public/Set-CIPPMessageCopy.ps1

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,27 @@
11
function Set-CIPPMessageCopy {
22
[CmdletBinding()]
33
param (
4-
$userid,
4+
$UserId,
55
[bool]$MessageCopyForSentAsEnabled,
6+
[bool]$MessageCopyForSendOnBehalfEnabled,
67
$TenantFilter,
7-
$APIName = 'Manage OneDrive Access',
8+
$APIName = 'Set message copy for sent',
89
$Headers
910
)
10-
Try {
11-
$null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-Mailbox' -cmdParams @{Identity = $userid; MessageCopyForSentAsEnabled = $MessageCopyForSentAsEnabled }
12-
$Result = "Successfully set MessageCopyForSentAsEnabled as $MessageCopyForSentAsEnabled on $($userid)."
11+
try {
12+
$cmdParams = @{
13+
Identity = $UserId
14+
MessageCopyForSentAsEnabled = $MessageCopyForSentAsEnabled
15+
MessageCopyForSendOnBehalfEnabled = $MessageCopyForSendOnBehalfEnabled
16+
17+
}
18+
$null = New-ExoRequest -tenantid $TenantFilter -cmdlet 'Set-Mailbox' -cmdParams $cmdParams
19+
$Result = "Successfully set message copy for 'Send as' as $MessageCopyForSentAsEnabled and 'Sent on behalf' as $MessageCopyForSendOnBehalfEnabled on $($UserId)."
1320
Write-LogMessage -headers $Headers -API $APIName -tenant $($TenantFilter) -message $Result -Sev 'Info'
1421
return $Result
1522
} catch {
1623
$ErrorMessage = Get-CippException -Exception $_
17-
$Result = "Failed to set MessageCopyForSentAsEnabled to $MessageCopyForSentAsEnabled - $($ErrorMessage.NormalizedError)"
24+
$Result = "Failed to set message copy for 'Send as' as $MessageCopyForSentAsEnabled and 'Sent on behalf' as $MessageCopyForSendOnBehalfEnabled - $($ErrorMessage.NormalizedError)"
1825
Write-LogMessage -headers $Headers -API $APIName -tenant $($TenantFilter) -message $Result -Sev 'Error' -LogData $ErrorMessage
1926
throw $Result
2027
}

0 commit comments

Comments
 (0)