Applies to: Exchange Server 2013

Topic Last Modified: 2013-02-25

A move request is the process of moving a mailbox from one mailbox database to another. A local move request is a mailbox move that occurs within a single forest. In Microsoft Exchange Server 2013, mailboxes and personal archive mailboxes can reside on separate databases. Using the move request functionality, you can move the primary mailbox and the associated archive to the same database or to separate ones. The procedures in this topic will help you with on-premises mailbox moves.

Use the following procedures to move mailboxes in your on-premises organization. These procedures use the Exchange Management Shell and the Exchange Center (EAC).

When you use move request to move mailboxes, the move requests are processed by the following two services:

For more information about the Mailbox replication server and proxy, see Learn more about MRS Proxy.

For more information about mailbox moves, see Mailbox Moves in Exchange 2013.

What do you need to know before you begin?

  • Estimated time to complete each procedure: 20 minutes

  • You need to be assigned permissions before you can perform this procedure or procedures. To see what permissions you need, see the "Mailbox Move and Migration Permissions " entry in Recipients Permissions.

  • For information about keyboard shortcuts that may apply to the procedures in this topic, see Keyboard Shortcuts in the Exchange Admin Center.

Tip:
Having problems? Ask for help in the Exchange forums. Visit the forums at: Exchange Server, Exchange Online, or Exchange Online Protection

What do you want to do?

Test whether a mailbox is ready to move

This example uses the WhatIf switch to test whether Tony Smith's mailbox is ready to move to the new database DB01 and if there are any errors within the command. When you use the WhatIf switch, the system performs checks on the mailbox. If the mailbox isn't ready to move, you receive an error.

Copy Code
New-MoveRequest -Identity 'tony@alpineskihouse.com' -TargetDatabase DB01 -WhatIf

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

Create a local move request

Use the EAC to create a local move request

To create a local move request, log in to the EAC and perform the following steps:

  1. In the EAC, navigate to Recipients > Migration, and then click Add Add Icon.

  2. In the New local mailbox move wizard, select the user you want to move click OK and then click Next.

  3. On the Move configuration page, specify a name for the new batch. Select which options you want for the archive mailbox, and mailbox database location and click New.

Use the Shell to create a local move request

For an example of how to create a local move request, see Example 2 in New-MoveRequest.

How do you know this worked?

To verify that you have successfully completed your migration, do the following:

  • In the EAC, navigate to Recipients > Migration.

  • Verify that your move was successful in the EAC by clicking Status For All Batches.

  • From the Shell, run the following command to retrieve mailbox move information.

    Copy Code
    Get-MigrationUserStatistics -Identity BatchName -Status | Format-List
    

For more information, see Get-MigrationUserStatistics.

Create a batch move request

Use the EAC to create a batch move request

log in to the EAC and perform the following steps:

  1. In the EAC, navigate to Recipients > Migration, and then click Add Add Icon.

  2. In the New local mailbox move wizard, select the users you want to move, click OK and then click Next.

  3. On the Move configuration page, specify a name for the new batch. Select which options you want for the archive mailbox, and mailbox database location and click New.

Warning:
Make sure that you don't set the Bad Item Limit to over 50 items. If you do, the move may fail. If you want to set the Bad Item Limit over 50 items, you must use the Exchange Management Shell and set the –AcceptLargeDataLoss parameter to true.

Use the Shell to create a batch move request

This example creates a migration batch for a local move, where the mailboxes in the specified .csv file are moved to a different mailbox database. This .csv file contains a single column that contains the email address for each of the mailboxes that will be moved. The header for this column must be named EmailAddress. The migration batch in this example must be started manually by using the Start-MigrationBatch cmdlet or the Exchange Administration Center (EAC). Alternatively, you can use the AutoStart parameter to start the migration batch automatically.

Copy Code
New-MigrationBatch -Local -Name LocalMove1 -CSVData ([System.IO.File]::ReadAllBytes("C:\Users\Administrator\Desktop\LocalMove1.csv")) -TargetDatabases MBXDB2 -TimeZone "Pacific Standard Time"
Copy Code
Start-MigrationBatch -Identity LocalMove1

For detailed syntax and parameter information, see New-MigrationBatch and Start-MigrationBatch.

How do you know this worked?

To verify that you have successfully completed your migration, do the following:

  • Verify that your move was successful in the EAC by clicking Status For All Batches.

  • From the Shell, run the following command to retrieve mailbox move information.

    Copy Code
    Get-MigrationUserStatistics -Identity BatchName -Status | Format-List
    

For more information, see Get-MigrationUserStatistics.

Display migration batches

For an example of how to use the Shell to display a migration batch, see Example 2 in Get-MigrationBatch.

Move only a user's primary mailbox

Use the EAC to move only a user's primary mailbox

  1. In the EAC, navigate to Recipients > Migration, and then click Add Add Icon.

  2. In the New local mailbox move wizard, select the user whose primary mailbox you want to move, click OK and then click next.

  3. On the Move configuration page, specify a name for the new batch. Select Move primary mailbox only, select which options you want for the mailbox database location, and then click New.

Use the Shell to move only a user's primary mailbox

This example moves only Tony Smith's primary mailbox to DB01. The archive isn't moved.

Copy Code
New-MoveRequest -Identity 'tony@alpineskihouse.com' -PrimaryOnly -TargetDatabase "DB01"

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

How do you know this worked?

To verify that you have successfully completed your migration, do the following:

  • In the EAC, click Status For All Batches.

  • From the Shell, run the following command to retrieve mailbox move information.

    Copy Code
    Get-MigrationUserStatistics -Identity BatchName -Status | Format-List
    

For more information, see Get-MigrationUserStatistics.

Create a cross-forest move using a .csv batch file

This example configures the migration endpoint, and then creates a cross-forest batch move from the source forest to the target forest using a .csv file.

Copy Code
New-MigrationEndpoint -Name Fabrikam -ExchangeRemote -Autodiscover -EmailAddress tonysmith@fabrikam.com -Credentials (Get-Credential fabrikam\tonysmith) 

$csvData=[System.IO.File]::ReadAllBytes("C:\Users\Administrator\Desktop\batch.csv")
New-MigrationBatch -CSVData $csvData -Timezone "Pacific Standard Time" -Name FabrikamMerger -SourceEndpoint Fabrikam -TargetDeliveryDomain "mail.contoso.com"

For more information about preparing your forest for cross-forest moves, see the following topics:

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

How do you know this worked?

To verify that you have successfully completed your migration, do the following:

  • From the Shell, run the following command to retrieve mailbox move information.

    Copy Code
    Get-MigrationUserStatistics -Identity BatchName -Status | Format-List
    

For more information, see Get-MigrationUserStatistics.

Move only an archive mailbox

Use the EAC to move only an archive mailbox

  1. In the EAC, navigate to Recipients > Migration, and then click Add Add Icon.

  2. In the New local mailbox move wizard, select the user whose archive mailbox you want to move, click OK and then click Next.

  3. On the Move configuration page, specify a name for the new batch. Select Move archive mailbox only, select which options you want for the mailbox database location, and then click New.

Use the Shell to move only an archive mailbox

This example moves only Tony Smith's archive mailbox to DB03. The primary mailbox isn't moved.

Copy Code
New-MoveRequest -Identity 'tony@alpineskihouse.com' -ArchiveOnly -ArchiveTargetDatabase "DB03"

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

How do you know this worked?

To verify that you have successfully completed your migration, do the following:

  • From the Shell, run the following command to retrieve mailbox move information.

    Copy Code
    Get-MigrationUserStatistics -Identity BatchName -Status | Format-List
    

For more information, see Get-MigrationUserStatistics.

Move a user's primary mailbox and archive mailbox to separate databases

This example moves Ayla's primary mailbox and archive mailbox to separate databases. The primary database is moved to DB01, and the archive is moved to DB03.

Copy Code
New-MoveRequest -Identity 'ayla@humongousinsurance.com' -TargetDatabase DB01 -ArchiveTargetDatabase -DB03

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

How do you know this worked?

To verify that you have successfully completed your migration, do the following:

  • From the Shell, run the following command to retrieve mailbox move information.

    Copy Code
    Get-MigrationUserStatistics -Identity BatchName -Status | Format-List
    

For more information, see Get-MigrationUserStatistics.

Move a user's primary mailbox and allow a large bad item limit

Use the EAC to move a user's primary mailbox and allow a large bad item limit

  1. In the EAC, navigate to Recipients > Migration, and then click Add Add Icon.

  2. In the New local mailbox move wizard, select the user whose primary mailbox you want to move, click OK, and then click Next.

  3. On the Move configuration page, specify a name for the new batch. Select Move primary mailbox only, and then select which options you want for the mailbox database location.

  4. Click More Options More Options Icon, enter the bad item limit, and then click OK.

Use the Shell to move a user's primary mailbox and allow a large bad item limit

This example moves Lisa's primary mailbox to mailbox database DB01 and sets the bad item limit to 100. To set a large bad item limit, you must use the AcceptLargeDataLoss parameter.

Copy Code
New-MoveRequest -Identity 'Lisa' -PrimaryOnly -TargetDatabase "DB01" -BadItemLimit 100 -AcceptLargeDataLoss

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

How do you know this worked?

To verify that you have successfully completed your migration, do the following:

  • From the Shell, run the following command to retrieve mailbox move information.

    Copy Code
    Get-MigrationUserStatistics -Identity BatchName -Status | Format-List
    

For more information, see Get-MigrationUserStatistics.