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. Microsoft Exchange Server 2010 supports two types of remote mailbox moves:

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

While performing remote mailbox moves, the Microsoft Exchange Mailbox Replication service (MRS) maintains the Send As and Receive As permissions. MRS maps the trustee to the matching user in the destination forest. This functionality relies on the destination forest having all recipient objects being represented and having their corresponding msExchMailboxGUID attributes stamped.

Important:
Maintaining permissions may not be possible in split permission deployments. This is because in split permission deployments the ExchangeTrustedSubsystem group 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 maps the permissions to point to the matching user in the destination forest. The security identifiers (SIDs) in the access control entries (ACEs) are replaced. If a SID isn't mapped, the permissions aren't maintained.

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.

What Do You Want to Do?

Use the EMC to create a remote move request

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.

If the source forest is an Exchange 2007 or Exchange 2003 forest, the administrator performing the move must have the following remote credentials on the Exchange 2007 server:

  • Exchange Server Administrator role

  • Exchange Recipient Administrator role

Important:
You can't move mailboxes by using the EMC if the source forest doesn't have at least one Exchange 2010 Client Access server installed. Instead, you must use the Shell to perform the task. For more information, see Create a Remote Legacy Move Request Where One of the Forests Doesn't Have Exchange 2010.
  1. In the console tree, navigate to Recipient Configuration > Mailbox of the remote forest.

    Note:
    All remote moves need to be initiated from the target forest.
  2. In the result pane, select one or more mailboxes that you want to move.

  3. In the action pane, click New Remote Move Request.

  4. On the Introduction page, view the mailboxes that you selected in the result pane. If you want to remove or add recipients, click Cancel, and then make the changes in the result pane.

    Note:
    The option to select a target database from the EMC isn't available. A target database is automatically selected. For more information about how database automatic selection is determined, see Understanding Move Requests.
  5. On the Connection Configurations page, view or specify the following settings:

    • Source Forest   This read-only field displays the source forest on which the mailboxes that you're moving reside.

    • Target Forest   Select the target forest from the list. This field is populated with the forests that have been added to the EMC. If this field is blank, see View Local Forest Properties for information about how to add forests.

    • FQDN of the Microsoft Exchange Mailbox Replication Service proxy server in the source forest   Type the fully qualified domain name (FQDN) for the server on which the MRS proxy resides. This is a Client Access server in the remote forest, for example, CAS01.contoso.com.

    • Use the following source forest's credential   To move mailboxes across forests, you must supply the credentials of a recipient administrator who has permission to move mailboxes from the source forest:

      User Name   Type the domain name and password of a recipient administrator who has permission to move mailboxes from the source forest.

      Password   Type the administrator's password.

  6. On the Move Settings page, specify the following settings:

    • Target Delivery Domain   Type the FQDN of the external e-mail address created in the source forest for the mail-enabled user when the move request is complete, for example, the FQDN of the target forest. Mail-enabled users must have a proxy address that has this FQDN as the SMTP domain of the address. At move completion, this proxy address is stamped as the mail-enabled user's external e-mail address in the source forest to ensure that mail flow will return to the new mailbox.

    • Archive Domain   Type the FQDN of the domain on which the archive will reside.

    • Target Database   Type the name of the target database in the remote forest.

  7. On the New Remote Move Request page, review the settings for this remote move request, and then click New.

  8. On the Completion page, review the following, and then click Finish to close the wizard:

    • A status of Completed indicates that the wizard completed the task successfully.

    • A status of Failed indicates that the task wasn't completed. If the task fails, review the summary for an explanation, and then click Back to make any configuration changes.

Use the Shell to create a remote move request

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.

If the source forest is an Exchange 2007 or Exchange 2003 forest, the administrator performing the move must have the following remote credentials on the Exchange 2007 or Exchange 2003 server:

  • Exchange Server Administrator role

  • Exchange Recipient Administrator role

Test whether a mailbox is ready to move across forests

This example uses the WhatIf switch to test whether a mailbox is ready to move across forests and whether any errors are within the command. When you use the WhatIf switch, the system performs checks on the mailbox. If the mailbox isn't ready, an error is returned. This command is run on the target forest.

Copy Code
New-MoveRequest -Identity 'tony@humongousinsurance.com' -Remote -TargetDatabase DB02 -RemoteHostName 'CAS01.humongousinsurance.com' -RemoteCredential (Get-Credential Atlanta\Administrator) -TargetDeliveryDomain 'mail.contoso.com' -WhatIf

For detailed syntax and parameter information, see New-MoveRequest or Get-Credential.

Move a mailbox from a remote forest

This example moves Tony Smith's mailbox into the forest where the command is run. When the move is completed, the new ExternalEmailAddress property 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' -Remote -TargetDatabase DB02 -RemoteHostName 'CAS01.humongousinsurance.com' -RemoteCredential $Cred -TargetDeliveryDomain 'mail.contoso.com'

For detailed syntax and parameter information, see New-MoveRequest.

Move a mailbox to a remote forest

This example pushes Tony Smith's mailbox to the remote forest. Use this command when you initiate the move from the source 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 property 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' -Remote -RemoteTargetDatabase DB03 -RemoteHostName 'CAS01.humongousinsurance.com' -RemoteCredential $Cred -TargetDeliveryDomain 'mail.contoso.com'

For detailed syntax and parameter information, see New-MoveRequest.

Create a batch move request

This example creates a batch move request for all mailboxes in the source forest on the database DB01 and moves them to the target database DB02 in the target forest with the BatchName parameter value HumongousDB01ToContosoDB02.

Note:
By creating a batch, you can create a tag that identifies the mailboxes being moved. Each mailbox is moved individually when an MRS instance becomes available to perform the move. You can then filter searches using the BatchName parameter in the Get-MoveRequest and Get-MoveRequestStatistics cmdlets.
Copy Code
Get-MailUser -Database DB01 | New-MoveRequest -Remote -RemoteHostName 'CAS01.humongousinsurance.com' -TargetDatabase DB02 -RemoteCredential $Cred -TargetDeliveryDomain 'mail.contoso.com' -BatchName HumongousDB01ToContosoDB02

For detailed syntax and parameter information, see Get-MailUser or New-MoveRequest.

Create a move request that suspends before completion

This example creates a remote move request for all mailboxes on the target forest that begin with the letter a. The request will be suspended after all 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:
By creating a batch, you can create a tag that identifies the mailboxes being moved. Each mailbox is moved individually when an MRS instance becomes available to perform the move. You can then filter searches using the BatchName parameter in the Get-MoveRequest and Get-MoveRequestStatistics cmdlets.
Copy Code
Get-MailUser -Anr a* | New-MoveRequest -Remote -RemoteHostName 'CAS01.humongousinsurance.com' -RemoteCredential $Cred -TargetDeliveryDomain 'mail.contoso.com' -TargetDatabase DB02 -SuspendWhenReadyToComplete -BatchName "Aug28 - To be Completed at 11pm"

For detailed syntax and parameter information, see Get-MailUser or New-MoveRequest.

Create a move request processed by a specific server

This example creates a move request processed by the specific 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, this move request isn't processed.
Copy Code
New-MoveRequest -Identity 'tony@humongousinsurance.com' -RemoteHostName 'CAS01.humongousinsurance.com' -Remote -RemoteCredential $Cred -TargetDatabase DB02 -TargetDeliveryDomain 'mail.contoso.com' -MRSServer CAS1.contoso.com

For detailed syntax and parameter information, see New-MoveRequest.

Create a suspended move request

This example creates a batch move request that's suspended for all mailboxes in the target forest where the CustomAttribute1 parameter 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:
By creating a batch, you can create a tag that identifies the mailboxes being moved. Each mailbox is moved individually when an MRS instance becomes available to perform the move. You can then filter searches using the BatchName parameter in the Get-MoveRequest and Get-MoveRequestStatistics cmdlets.
Copy Code
Get-MailUser -Filter {CustomAttribute1 -eq 'Monday'} | New-MoveRequest -RemoteHostName 'CAS01.humongousinsurance.com' -Remote -RemoteCredential $Cred -TargetDatabase DB01 -TargetDeliveryDomain 'mail.contoso.com' -Suspend -SuspendComment "Resume after 11:00 p.m. PST" -BatchName "MondayMoves_HumongousToContoso"

For detailed syntax and parameter information, see Get-MailUser or New-MoveRequest.