Public/Set-MITFolderNotification.ps1
function Set-MITFolderNotification { <# .SYNOPSIS Change a MOVEit Transfer Folder Notification Setting(s) .LINK Change folder update notifications https://docs.ipswitch.com/MOVEit/Transfer2023/Api/Rest/#operation/PATCHapi/v1/folders/{Id}/notifications-1.0 #> [CmdletBinding()] param ( [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName)] [ValidateNotNullOrEmpty()] [Alias('Id')] [string]$FolderId, [Parameter()] [ValidateSet('None', 'Immediately')] [string]$DeliveryReceiptToSender, [Parameter()] [bool]$ApplyToSubfolders, [Parameter()] [ValidateSet('Normal', 'InboxOutbox')] [string]$NotificationStyle, [Parameter()] [ValidateSet('Hours', 'Days', 'Minutes')] [string]$AlertSenderFileIsNotDownloadedTimeType, [Parameter()] [int32]$NewFileAlertToRecipientTime, [Parameter()] [int32]$UploadConfirmationToSenderTime, [Parameter()] [int32]$AlertSenderFileIsNotDownloadedTime ) try { # Build the request body $body = @{} switch ($PSBoundParameters.Keys) { DeliveryReceiptToSender { $body['deliveryReceiptToSender'] = $DeliveryReceiptToSender } ApplyToSubfolders { $body['applyToSubfolders'] = $ApplyToSubfolders } NotificationStyle { $body['notificationStyle'] = $NotificationStyle } AlertSenderFileIsNotDownloadedTimeType { $body['alertSenderFileIsNotDownloadedTimeType'] = $AlertSenderFileIsNotDownloadedTimeType } NewFileAlertToRecipientTime { $body['newFileAlertToRecipientTime'] = $NewFileAlertToRecipientTime } UploadConfirmationToSenderTime { $body['uploadConfirmationToSenderTime'] = $UploadConfirmationToSenderTime } AlertSenderFileIsNotDownloadedTime { $body['alertSenderFileIsNotDownloadedTime'] = $AlertSenderFileIsNotDownloadedTime } } # Setup the params to splat to IRM $irmParams = @{ Resource = "folders/$FolderId/notifications" Method = 'Patch' ContentType = 'application/json' Body = ($body | ConvertTo-Json) } # Send the request and output the response Invoke-MITRequest @irmParams | Write-MITResponse # -TypeName 'MITFolderSimple' } catch { $PSCmdlet.ThrowTerminatingError($PSItem) } } |