Wednesday, July 14, 2010

Mailbox Move Requests in Exchange 2010

Exchange 2010 introduces the concept of Move Requests instead of the traditional Mailbox Moves found in earlier versions of Exchange.  This is a complete redesign for how mailbox moves are managed.  So why the change?

  • Mailbox moves are now asynchronous and are carried out by the Exchange Mailbox Replication Service located on each CAS server (instead of being carried out by the actual cmdlet or console)
  • Mailboxes are kept online during the asynchronous moves (users do not lose their connection to their mailbox during the move and can continue to send and receive email)
  • Items in a mailbox’s Recoverable Items folder are moved with the mailbox
  • Content indexing starts to scan the mailbox as soon as the mailbox begins to move
  • Throttling can be configured for each mailbox replication service, database or server
  • Moves can be managed from any Exchange 2010 server
  • Mailbox content doesn’t move through the server creating the request, this allows shut down of the console during the mailbox move

There are two types of Move Requests: Local and Remote.  Local is used for any mailbox moves within the same Exchange Organization.  Remote is used for any cross-forest migrations.  A Move Request can be initiated two different ways: from EMC and EMS.

From EMC, navigate to the Recipient Configuration –> Mailbox node.  Right-click on a mailbox and select New Local Move Request.  After the wizard is complete, a new Move Request will be created and the mailbox will be moved.

moveRequest-EMCSelect-markup

The same function can be performed in the EMS by running the following command:

New-MoveRequest –Identity Alias –TargetDatabase “DatabaseName”

moveRequest-EMS-executed Note that if a database name is not specified, a random database is selected.

Status of the Move Request can be viewed by navigating to the Recipient Configuration –> Move Request node and selecting the properties of the Move Request. 

MoveRequest-status

Also a complete report can be generated from the EMS by running the following command:

Per Mailbox:  Get-MailboxStatistics –Identity Alias –IncludeMoveReport | flMoveRequest-EMS-report

For a complete report for all moves including specific fields and outputting to a text file:

Get-MoveRequest | Get-MoveRequestStatistics | Select DisplayName, Status, TotalItemSize, TotalMailboxItemCount, PercentComplete, BytesTransferred, ItemsTransferred | Out-File –FilePath “C:\temp\FullMoveUserLog.txt”

One thing that is different is that the Administrator will have to clear out any Move Requests if a mailbox needs to be moved again or a database deleted.  Through the EMC, if a Move Request still exist, the administrator will not even have the option to create a New Local Move Request.  From the EMS, the error that an administrator will see if the Move Request is not cleared out is shown below.

moveRequest-EMSerror Move Request can be cleared either from the EMC or EMS.  From the EMC, simply right-click on the Move Request within the Recipient Configuration –> Move Request node and select Clear Move Request.  From the EMC, the following command can be executed to clear any Move Request.

Get-MoveRequest | Remove-MoveRequest –Confirm:$false

The complete Move Request workflow is shown in the following diagram (courtesy of Microsoft):

MoveRequest-Process

2 comments: