Currently I’m working with a customer in a hybrid Exchange 2010 environment. There are multiple offices around the US, and one office in California will close soon. Therefore, all Mailboxes need to be moved to Office 365. The customer created multiple migration batches, and all batches are set using the -SuspendWhenReadyToComplete option. So, when a Mailbox migration in this batch reaches 95% the move will stop, and both Mailboxes will be kept in sync.
So, I started a Remote PowerShell session to Exchange Online (completing an individual move request as part of a batch is not possible in the Exchange Admin Console) and executed the following command:
Get-MoveRequest -Identity John@contoso.com | Resume-MoveRequest -Confirm:$false
While no error message was generated, the move requests were not finished. After some head scratching I realized that the -SuspendWhenReadyToComplete option is set on the migration batch, and that the move requests ‘inherit’ this setting. So, when resuming the move request it will automatically suspend again when hitting 95% (which is a matter of seconds).
So, I executed the following commands:
Get-MoveRequest -Identity John@contoso.com | Set-MoveRequest -SuspendWhenReadyToComplete:$false Get-MoveRequest -Identity John@contoso.com | Resume-MoveRequest -Confirm:$false
Unfortunately, nothing happened and the move request stayed in the ‘synced’ state and was not willing to finalize. And of course no errors were logged.
At one point I realized I read something in the New-MoveRequest page on TechNet, where it says at the SuspendWhenReadyToComplete option:
“The SuspendWhenReadyToComplete switch specifies whether to suspend the move request before it reaches the status of CompletionInProgress. Instead of this switch, we recommend that you use the CompleteAfter parameter.”
This time I executed the following commands:
$Date = Get-Date Get-MoveRequest -Identity John@contoso.com | Set-MoveRequest -CompleteAfter $Date Get-MoveRequest -Identity John@contoso.com | Resume-MoveRequest -Confirm:$false
And this time the individual move requests in the migration batch were successfully finalized.