Applies to: Exchange Server 2010 SP3, Exchange Server 2010 SP2

Topic Last Modified: 2012-07-23

Remote mailbox moves are also known as cross-forest mailbox moves. There are two types of remote mailbox moves that Microsoft Exchange Server 2010 supports:

When you move Exchange 2003 mailboxes to Exchange 2010, the mailbox move will be offline. During the move, users won't be able to access their mailboxes. When you move Exchange 2007 SP2 mailboxes to Exchange 2010, the move will be online, and users can access their mailboxes during the move.

To perform remote legacy move requests, you must supply the following information in the command:

While performing remote mailbox moves, the Microsoft Exchange Mailbox Replication service (MRS) uses the msExchMailboxGUID attribute to find matching users, thereby maintaining the Send As and Receive As permissions. MRS then maps the trustee to the matching user in the destination forest.

Important:
Maintaining permissions may not be possible in split-permission deployments. The ExchangeTrustedSubsystem attribute isn't included in the Exchange Windows Permissions security group.

MRS also uses the msExchMailboxGUID attribute to attempt to maintain mailbox and mailbox folder permissions. MRS then maps the permissions to point to the matching user in the destination forest.

Looking for other management tasks related to move requests? Check out Managing Move Requests.

Prerequisites

For the complete list of prerequisites to move mailboxes across forests, see Prepare Mailboxes for Cross-Forest Move Requests.

Use the Shell to create remote legacy move requests

You need to be assigned permissions before you can perform this procedure. To see what permissions you need, see the "Mailbox moves" entry in the Mailbox Permissions topic.

Note:
You can't use the EMC to create remote legacy move requests.

In addition to the permissions listed previously, the administrator performing the move must have the following remote credentials on the Exchange 2003 or Exchange 2007 server:

  • Exchange Server Administrator role

  • Exchange Recipient Administrator role

Note:
The following examples use the RemoteCredential parameter. This parameter requires the creation and passing of a credential object. This credential object is created by using the Get-Credential cmdlet. For more information, see Get-Credential.

Move a mailbox from a remote legacy forest

This example moves Tony Smith's mailbox into the Exchange 2010 forest from an Exchange 2007 SP2 or Exchange 2003 SP2 forest. When the move is complete, the new ExternalEmailAddress in the source forest will be Tony's proxy address with the SMTP domain mail.contoso.com.

Copy Code
New-MoveRequest -Identity 'tony@humongousinsurance.com' -RemoteLegacy -TargetDatabase DB02 -RemoteGlobalCatalog 'GC01.humongousinsurance.com' -RemoteCredential $Cred -TargetDeliveryDomain 'mail.contoso.com'

Move a mailbox to a remote legacy forest

This example moves Tony Smith's mailbox to the remote forest. Use this command when you initiate the move from the source Exchange 2010 forest. When initiating moves from the source forest, you must use the RemoteTargetDatabase parameter to specify the database that you're moving the mailbox to. When the move is complete, the new ExternalEmailAddress in the source forest will be Tony's proxy address with the SMTP domain mail.contoso.com.

Copy Code
New-MoveRequest -Identity 'tony@humongousinsurance.com' -RemoteLegacy -RemoteTargetDatabase DB03 -RemoteGlobalCatalog 'GC01.humongousinsurance.com' -RemoteCredential $Cred -TargetDeliveryDomain 'mail.contoso.com'

Create a remote legacy batch move request

This example creates a batched move request for all mailboxes in the source forest that have CustomAttribute2 set to Washington and moves them to the target database DB02 in the target forest with the BatchName parameter value Washington_HumongousToContoso.

Note:
Creating a batch move request allows you to create a tag that identifies which mailboxes are being moved. When an MRS instance becomes available to perform the move, each mailbox will be moved individually. You can then filter in searches using the BatchName parameter in the Get-MoveRequest and Get-MoveRequestStatistics cmdlets.
Copy Code
Get-MailUser -Filter {CustomAttribute2 -eq "Washington"} | New-MoveRequest -RemoteLegacy -RemoteGlobalCatalog 'GC01.humongousinsurance.com' -TargetDatabase DB02 -RemoteCredential $Cred -TargetDeliveryDomain 'mail.contoso.com' -BatchName "Washington_HumongousToContoso"

Create a remote legacy move request that suspends before completion

This example creates a remote move request for all mailboxes that begin with the letter 'a' in the target forest. The request will be suspended after the initial content is moved, but before the mailbox is locked down and switched over to the new location.

Note:
You can use the SuspendWhenReadyToComplete parameter only for online mailbox moves and when moving mailboxes from Exchange 2007 and Exchange 2010 mailbox databases. You can’t use this parameter for offline moves or when moving from Exchange 2003 mailbox databases.

The move request will then need to be resumed by using the Resume-MoveRequest cmdlet.

Note:
Only online moves can be suspended by using the SuspendWhenReadyToComplete parameter.
Note:
Creating a batch move request allows you to create a tag that identifies which mailboxes are being moved. When an MRS instance becomes available to perform the move, each mailbox will be moved individually. You can then filter in searches using the BatchName parameter in the Get-MoveRequest and Get-MoveRequestStatistics cmdlets.
Copy Code
Get-MailUser -ANR a* | New-MoveRequest -RemoteLegacy -RemoteGlobalCatalog 'GC01.humongousinsurance.com' -RemoteCredential $Cred -TargetDeliveryDomain 'mail.contoso.com' -TargetDatabase DB02 -SuspendWhenReadyToComplete -BatchName "Aug28 - To be Completed at 11pm"

Create a remote legacy move request that's processed by a specific server

This example creates a move request that's processed by the Client Access server CAS1.contoso.com, which has MRS installed.

Note:
The MRSServer parameter is reserved for debugging purposes. Use this parameter only if directed by support personnel. If you use this parameter and the specified server isn't functional, the move request won't be processed.
Copy Code
New-MoveRequest -Identity 'tony@humongousinsurance.com' -RemoteLegacy -RemoteGlobalCatalog 'GC01.humongousinsurance.com' -RemoteCredential $Cred -TargetDatabase DB02 -TargetDeliveryDomain 'mail.contoso.com' -MRSServer CAS1.contoso.com

Create a suspended remote legacy move request

This example creates a batch move request that's suspended for all mailboxes in the target forest where CustomAttribute1 is set to Monday. You may want to run this command if you want to create the move request now and then resume it in the evening, when e-mail traffic is low.

Note:
Creating a batch move request allows you to create a tag that identifies which mailboxes are being moved. When an MRS instance becomes available to perform the move, each mailbox will be moved individually. You can then filter in searches using the BatchName parameter in the Get-MoveRequest and Get-MoveRequestStatistics cmdlets.
Copy Code
Get-MailUser -Filter {CustomAttribute1 -eq 'Monday'} | New-MoveRequest -RemoteLegacy -RemoteGlobalCatalog 'CAS01.humongousinsurance.com' -RemoteCredential $Cred -TargetDatabase DB01 -TargetDeliveryDomain 'mail.contoso.com' -Suspend -SuspendComment "Resume after 11:00 P.M. PST" -BatchName "MondayMoves_HumongousToContoso"

For More Information

For detailed syntax and parameter information, see the following cmdlet reference topics: