Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 772 other subscribers


  • LinkedIn
  • RSS Feed for Posts
  • Twitter
  • StumbleUpon

E2013 : What is the difference between New-MigrationBatch and New-MoveRequest

In Exchange 2010, if you were moving mailboxes between mailbox servers, you had to use New-MoveRequest to start a mailbox move from one database/server to the other. If you had multiple mailboxes you wanted to move at once, you had several options:


  • Use Get-Mailbox and pipe the results along to New-Moverequest
  • Import a CSV-file and pipe the results along to New-Moverequest
  • Create an individual move request for each users

In Exchange 2013 there is a new option : MigrationBatch

The cmdlet is used to move mailboxes in an Exchange on-premises organization, migrate on-premises mailboxes to Exchange Online (also called onboarding), or migrate Exchange Online mailboxes back to an on-premises Exchange organization (also called offboarding) in an Exchange hybrid deployment.

Starting a MigrationBatch :

Create a csv file starting with ‘EmailAddress’

New-MigrationBatch -Local -Name MoveE2013-Test -CSVData ([System.IO.File]::ReadAllBytes(“C:\Scripts\MigrationBatch.csv”)) -TargetDatabases E2013-Test

The Migration Batch is now created, but not started. To start the MigationBatch use:

 Start-MigrationBatch -Identity MoveE2013-Test 

Alternatively you can use the –autostart option

 New-MigrationBatch -Local -Name MoveE2013-Test -CSVData ([System.IO.File]::ReadAllBytes(“C:\Scripts\MigrationBatch.csv”)) -TargetDatabases E2013-Test Autostart

After the Migration you have to finalize the mailboxes :

 Complete-MigrationBatch -Identity MoveE2013-Test -NotificationEmails,

Or use the – AutoComplete option

New-MigrationBatch -Local -Name MoveE2013-Test -CSVData ([System.IO.File]::ReadAllBytes(“C:\Scripts\MigrationBatch.csv”)) -TargetDatabases E2013-Test –AutostartAutoComplete

A Word from Microsoft :

If you’re migrating mailboxes from Exchange Online to an on-premises Exchange Server 2007 organization, you must include the AutoComplete parameter. This parameter is required because offboarding cloud-based mailboxes to an Exchange 2007 organization is performed offline, and mailboxes in the migration batch must be finalized after the initial synchronization is successfully completed.

With the command Get-MigrationBatch you can check :

  • Status of the migration batch
  • Total number of mailboxes being migrated
  • Number of successfully completed migrations
  • Migration errors
  • Date and time when the migration was started

After a completed MigrationBatch you have to remove these batches :

Remove-MigrationBatch -Identity MoveE2013-Test

Or course there is a possibility to stop a MigrationBatch :

Stop-MigrationBatch -Identity MoveE2013-Test

Update a MigrationBatch :

Set-MigrationBatch -Identity MoveE2013-Test -AutoRetryCount 5 -AllowIncrementalSyncs $true

More info @ :