New-MoveRequest changes for Exchange 2010 SP1

Note: The following information is based on Exchange 2010 SP1 Beta and subject to change in the final product.

If you transferred mailboxes using PowerShell or performed cross-forest mailbox moves using Exchange 2010 you’re probably familiair with the New-MoveRequest cmdlet. This cmdlet is used to initiate an asynchronous mailbox move talking to the Mailbox Replication Service (MRS) located on one of the Exchange Servers hosting the Client Access Server role. A few changes have been made to the New-MoveRequest cmdlet in Exchange 2010 SP1, which I would like to share with you.

The first interesting new option is the Outbound parameter. With Outbound  you can specify that the cross-forest mailbox move is to be initiated from the source forest. To initiate the move from the target forest you can use the Remote (identical to RTM). Note that Outbound and Remote are mutually exclusive.

Because of Exchange 2010 SP1′s capability to host the personal archives on a different database than the associated primary mailboxes, the following parameters have been added to New-MoveRequest for SP1:

  • ArchiveOnly can be used to specify that you want to move the personal archive only;
  • PrimaryOnly can be used to specify that you want to move the primary mailbox only;
  • ArchiveTargetDatabase can be used to specify the database you want to move the personal archive mailbox to. When omitted, the database hosting the primary mailbox will be used;
  • RemoteArchiveTargetDatabase can be used to specify the database in the remote forest you want to move the personal archive mailbox to. When omitted, the database hosting the primary mailbox will be used.

This enables you to bulk transfer the personal archives to another database using simple cmdlets. For example, to select all mailbox users with personal archives and move those personal archives to another database you could use:

Get-Mailbox | where { $_.ArchiveDatabase -ne $null } | New-MoveRequest -ArchiveOnly -ArchiveTargetDatabase MDB02


Like with regular mailbox move requests, you need to clean up afterwards by clearing completed moves. You could do that from EMC or use the following command in EMC:

Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest

The updated New-MoveRequest cmdlet will also enable you to immediately create the associated personal archive on a seperate database when performing cross-forest mailbox moves:

$cred = get-credential
New-MoveRequest -Identity UserA -RemoteLegacy -TargetDatabase MDB1 -TargetArchiveDatabase MDB2 -RemoteGlobalCatalog dc.olddomain.nl -RemoteCredential $cred -TargetDeliveryDomain targetdomain.com

Note that this cmdlet will not enable archiving for moved mailboxes.

Finally, the EMC has been updated to reflect the possible split between primary mailbox location and personal archive location when moving mailboxes around. When selecting Mailbox > .. Move Request (Local or Remote), you’ll have additional options:

For more background on mailbox moves in Exchange 2010 and the role of the Mailbox Replication Service, please consult this TechNet article.

Leave a Reply

Fill in your details below or click an icon to log in:

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