SuspendWhenReadyToComplete when using a migration batch in Office 365

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.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s