@@ -45,8 +45,8 @@ function Invoke-ExecMailboxRestore {
45
45
default {
46
46
$TenantFilter = $Request.Body.TenantFilter
47
47
$RequestName = $Request.Body.RequestName
48
- $SourceMailbox = $Request.Body.SourceMailbox
49
- $TargetMailbox = if ( ! $Request.Body.input ) { $Request .Body. TargetMailbox} else { $Request.Body.input }
48
+ $SourceMailbox = $Request.Body.SourceMailbox.value ?? $Request .Body.SourceMailbox
49
+ $TargetMailbox = $Request.Body.TargetMailbox.value ?? $Request.Body.TargetMailbox
50
50
51
51
$ExoRequest = @ {
52
52
tenantid = $TenantFilter
@@ -58,16 +58,50 @@ function Invoke-ExecMailboxRestore {
58
58
AllowLegacyDNMismatch = $true
59
59
}
60
60
}
61
- if ([bool ]$Request.Body.AcceptLargeDataLoss -eq $true ) {
62
- $ExoRequest.cmdParams.AcceptLargeDataLoss = $true
61
+ if ($Request.Body.AssociatedMessagesCopyOption ) {
62
+ $ExoRequest.cmdParams.AssociatedMessagesCopyOption = $Request.Body.AssociatedMessagesCopyOption.value
63
+ }
64
+ if ($Request.Body.ExcludeFolders ) {
65
+ $ExoRequest.cmdParams.ExcludeFolders = $Request.Body.ExcludeFolders.value
66
+ }
67
+ if ($Request.Body.IncludeFolders ) {
68
+ $ExoRequest.cmdParams.IncludeFolders = $Request.Body.IncludeFolders.value
69
+ }
70
+ if ($Request.Body.BatchName ) {
71
+ $ExoRequest.cmdParams.BatchName = $Request.Body.BatchName
72
+ }
73
+ if ($Request.Body.CompletedRequestAgeLimit ) {
74
+ $ExoRequest.cmdParams.CompletedRequestAgeLimit = $Request.Body.CompletedRequestAgeLimit
75
+ }
76
+ if ($Request.Body.ConflictResolutionOption ) {
77
+ $ExoRequest.cmdParams.ConflictResolutionOption = $Request.Body.ConflictResolutionOption.value
78
+ }
79
+ if ($Request.Body.SourceRootFolder ) {
80
+ $ExoRequest.cmdParams.SourceRootFolder = $Request.Body.SourceRootFolder
81
+ }
82
+ if ($Request.Body.TargetRootFolder ) {
83
+ $ExoRequest.cmdParams.TargetRootFolder = $Request.Body.TargetRootFolder
84
+ }
85
+ if ($Request.Body.TargetType ) {
86
+ $ExoRequest.cmdParams.TargetType = $Request.Body.TargetType.value
63
87
}
64
88
if ([int ]$Request.Body.BadItemLimit -gt 0 ) {
65
89
$ExoRequest.cmdParams.BadItemLimit = $Request.Body.BadItemLimit
66
90
}
67
91
if ([int ]$Request.Body.LargeItemLimit -gt 0 ) {
68
92
$ExoRequest.cmdParams.LargeItemLimit = $Request.Body.LargeItemLimit
69
93
}
94
+ if ($Request.Body.ExcludeDumpster ) {
95
+ $ExoRequest.cmdParams.ExcludeDumpster = $Request.Body.ExcludeDumpster
96
+ }
97
+ if ($Request.Body.SourceIsArchive ) {
98
+ $ExoRequest.cmdParams.SourceIsArchive = $Request.Body.SourceIsArchive
99
+ }
100
+ if ($Request.Body.TargetIsArchive ) {
101
+ $ExoRequest.cmdParams.TargetIsArchive = $Request.Body.TargetIsArchive
102
+ }
70
103
104
+ Write-Information ($ExoRequest | ConvertTo-Json )
71
105
$SuccessMessage = ' Mailbox restore request created successfully'
72
106
}
73
107
}
@@ -93,4 +127,4 @@ function Invoke-ExecMailboxRestore {
93
127
StatusCode = $StatusCode
94
128
Body = $Body
95
129
})
96
- }
130
+ }
0 commit comments