Private/Migration/Invoke-CompleteMailboxMove.ps1
function Invoke-CompleteMailboxMove { param ( [Parameter(ValueFromPipeline, Mandatory)] [ValidateNotNullOrEmpty()] $UserList, [Parameter()] [ValidateNotNullOrEmpty()] $CompleteAfter ) begin { if ($CompleteAfter) { $When = $CompleteAfter } else { $When = (Get-Date).AddDays(-1) } } process { foreach ($User in $UserList) { $Param = @{ Identity = $User.Guid BatchName = $User.BatchName SuspendWhenReadyToComplete = $False Confirm = $False CompleteAfter = $When } [PSCustomObject]@{ DisplayName = $User.DisplayName CompleteAfter = $When Action = "SET" } Set-MoveRequest @Param [PSCustomObject]@{ DisplayName = $User.DisplayName CompleteAfter = "N/A" Action = "RESUME" } Resume-MoveRequest $User.Guid } } } |