After you’ve completed your deploying Exchange 2010 & 2016 coexistence, you can move mailboxes to your Exchange 2016 Mailbox server. To move mailboxes to your Exchange 2016 Mailbox server, you’ll need to use the Exchange admin center or Exchange Management Shell.

We’ll see the mailbox migration using both Exchange Admin Center (EAC) & Exchange Management Shell (EMS)

Moving the Mailboxes within the forest is called Local move and Moving Mailbox from one forest to another is called Cross Forest Migration.

Moves in on-premises Exchange organizations

  • Local move: A local move is where you move mailboxes from one mailbox database to another. A local move occurs within a single forest. For more information.
  • Cross-forest enterprise move: In a cross-forest enterprise move, mailboxes are moved to a different forest. Cross-forest moves are initiated either from the target forest, which is the forest that you want to move the mailboxes to, or from the source forest, which is the forest that currently hosts the mailboxes. For more information.

Ok, now let’s log on to Exchange Admin Center (EAC).

Open the EAC by browsing the URL of your Mailbox   Server. For example, http://EX2016/ECP

Enter the User Name and password “Domain\Username”, Recipient with required permissions.

Go to Recipients Tab -> Click Migration -> Click “+” Here you have two options

  1. 1: Move to different database
  2. 2: Move to this forest

 Click “Move to different database”


A New Window New Migration Batch opens with new local mailbox move

Here either can move adding the users by clicking on Add “+” option and adding the users (or)

Moving the users using CSV file

Now we’ll add the user selecting option1 and later moving mailboxes using CSV will do using Shell.

Select Option 1 as shown below for adding the users


Add the user by selecting the users that you want to move.

Click “+” Add


After adding click OK, selected user Mailboxes will be added.


Click Next.

It will take you to New window where you need to provide the details for “Move Migration”.


Type the New Migration Name -> And select the required options under Achieve -> Browse the Target Database -> With Bad Item Count as 10

Note: Specifying the Bad Item limit shouldn’t cross more that 50 because more that 50 Bad Item limit there chances of move mailbox can fail, recommended to use shell and set the AcceptLargeDataLoss parameter as True.

Click OK -> Click Next

A New window with Start Migration batch. Specify the name where the report needs to be sent.

You can find such a feature in Exchange 2013 and 2016

Browse the account “Administrator”, either this migration can be started completed manually or Automatically.

Then Click New


Great Move Mailbox has started and status shows “Syncing”


Either you can find the status in EAC or also you can find in Shell by just running the command, if you want to check the status in Shell then run the below command

“Get-MigrationBatch MailboxMigration” status shows Syncing in both EAC & EMS


“Get-MigrationUser | Get-MigrationUserStatistics” to show the completion status.


The same Alert will be sent to Administrator Account as an email


If you want report, click for reports

It will take you to another browser page where you need to download the file.


Click Download on the reports so that you can get the reports as CSV file as shown below:


Great we have seen the Migration report

Till now we have seen migrating Mailboxes using EAC, let’s discuss the move using Shell.

Creating 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 with the email address for 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 New-MigrationBatch cmdlet or the Exchange admin center. Alternatively, you can use the AutoStart & Autocomplete parameters to start the migration batch automatically.

CSV Mailbox Migration using Exchange Management Shell

New-MigrationBatch -Local -Name LocalMigration1 -CSVData ([System.IO.File]::ReadAllBytes(“C:\Users\Administrator.Techrid1\Desktop\LocalMigration1.csv”)) -TargetDatabase “DatbaseName” -AutoStart -AutoComplete


Migration has started “Status -> Syncing”


Great Migration completed, you can view the status by clicking on “Status for all batches”. This will show the count as shown below:

  • Total Mailbox Move
  • Finalized Mailboxes and
  • Failed Count


Good we have completed Mailbox Migration

For More info on Migration : Local & Cross Forest Mailbox Migration