Difference between New-MigrationBatch and New-MoveRequest Commands in Exchange Server

With the release of Exchange Server 2013, Microsoft has introduced new commands in the Exchange Management Shell (EMS). These include New-MigrationBatch and New-MoveRequest PowerShell commands that can help the Exchange Server Admins to move mailboxes between on-premises Exchange Server and Exchange Online in a hybrid setup. Below, we will be discussing the differences between these two commands. We will also be discussing how to use New-MigrationBatch and New-MoveRequest PowerShell commands.

About New-MigrationBatch and New-MoveRequest Commands

The New-MigrationBatch and New-MoveRequest commands in PowerShell are used to move mailboxes from one Exchange Server to another, from one database to another in the same server, or to migrate Exchange mailboxes to Exchange Online. If you have to move several mailboxes at the same time, the migration batch command is ideal.

In the case of migrating to a newer version of Exchange Server, you need to make sure that the current Exchange Server and the new setup can coexist. It is best to check with your Microsoft vendor or Microsoft coexistence matrix before proceeding.

Though both commands are used for moving mailboxes, here are some differences between these commands based on certain factors:

 
Feature New-MigrationBatch  New-Move Request
Immediately starts the mailbox transfer  No Yes
Migration status report  Yes No
Exchange Server 2010 support  No Yes
Makes use of migration mailbox  Yes No
Executes if the mailbox is mounted  No No
Migrate public folders and disabled mailboxes  No No
Works with offline EDB files  No No
Available in Exchange Admin Center  Yes No

How to Use the New-MoveRequest Command?

To move a mailbox from one database to another, you can use the command as given below.

New-MoveRequest "email address" -TargetDatabase "database name"

New-MoveRequest TargetDatabase cmd

If you like to move the user archive to another database, use the command as given below.

New-MoveRequest "email address" -TargetDatabase "database name" -ArchiveTargetDatabase "database name"

New-MoveRequest ArchiveTargetDatabase

To move the mailbox only and leave the archive as it is, use the below command.

New-MoveRequest -PrimaryOnly cmd

To move the archive only and leave the mailbox as it is, use the below command.

New-MoveRequest "email address" -TargetDatabase "database name" -ArchiveOnly

New-MoveRequest -ArchiveOnly cmd

How to Use the New-MigrationBatch Command?

You need to specify the name of the batch and the CSV file which has the mailboxes to move. After creating the batch, you need to start it.

New-MigrationBatch -Local -Name "name of batch" -CSVData ([System.IO.File]::ReadAllBytes("path to csv file")) -TargetDatabases "destination database name"

New-MigrationBatch cmd

Start-MigrationBatch -Identity "name of batch"

Start-MigrationBatch -Identity

Alternative Solution to Move Mailboxes

The above commands work fine when you have a good setup and everything is working well. However, they lack on part of reporting. Also, if something happens, there is no continuation and you need expertise and resources to resolve the issue. In addition, if something happens to the Exchange Server due to server or operating system failure, you will not be able to use these commands to move your data.

In such situations, you can look for a third-party Exchange migration tool. One of the best applications for moving mailboxes is Stellar Migrator for Exchange. With this application, you can migrate mailboxes seamlessly between different Exchange Servers without size limitations and with minimal configuration.


You can browse, select, and migrate mailboxes or specific items such as emails, calendars, contacts, tasks, and journals. The tool also supports direct migration to a live Exchange Server database or to an Office 365/Microsoft 365 tenant. You can move user mailboxes, archives, shared mailboxes, disabled mailboxes, and even public folders with ease.

Conclusion

As you have seen, New-MigrationBatch and New-MoveRequest are powerful commands, but they require expertise and a properly running Exchange Server environment. These methods will not work in case of server failure or when migrating from an old or decommissioned Exchange Server. In such cases, you can use Stellar Migrator for Exchange to move mailboxes directly from the source to the destination Exchange Server or to Office 365. With this application, you can significantly reduce migration time, complexity, and resource requirements.



Was this article helpful?
About The Author
author image
Shelly Bhardwaj linkdin Icon

Shelly is technology expert and core knowledge of Exchange Server, Outlook.

Table of Contents

WHY STELLAR® IS GLOBAL LEADER

Why Choose Stellar?
  • 0M+

    Customers

  • 0+

    Years of Excellence

  • 0+

    R&D Engineers

  • 0+

    Countries

  • 0+

    PARTNERS

  • 0+

    Awards Received

×