Step by Step Guide to Perform Cutover migration using Powershell

In this article we are going to see how to perform cutover migration from your source on-premises Exchange Server to Office 365. Before starting, you should know while creating a Migration batch is not that hard, the time it takes for the migration operation to complete will be dependent entirely on the size as well as the number of mailboxes involved and your network performance.


Scalable and High performance Exchange migration

Exchange Server Migaration to any destination is with multi threading capability with throttling management can make your migration fast and high performance.
EDB Download Button


Here are some of things that you should take care of before starting the migration operation:

  • Ensure that the on premises user account used for migration has all the appropriate mailbox move and migration permissions granted to be able to access the mailboxes that are to be moved to Office 365.
  • To be able to run these cmdlets from your local Windows powershell, you need to make a remote powershell session to Exchange online.
  • Your on-premises organization should be an accepted domain for your Office 365 organization for cutover migration to work.
  • Configure RPC over HTTP (or Outlook Anywhere) on your on-premises Exchange organization as it is the protocol used by Migration service. Once done, you can test your connection configuration using Remote Connectivity Analyzer from Microsoft.
  • Make sure Unified Messaging (UM) is disabled on the mailboxes before migration.

Creating Migration End-point

Run the following cmdlets in Exchange Online Powershell one by one:

$Credentials = Get-Credential

$TSMA = Test-MigrationServerAvailability -ExchangeOutlookAnywhere -Autodiscover -EmailAddress -Credentials $credentials

New-MigrationEndpoint -ExchangeOutlookAnywhere -Name ExMigrationEndpoint -ConnectionSettings $TSMA.ConnectionSettings

You can use Get-MigrationEndpoint to verify the above worked, as follows:

Get-MigrationEndpoint ExMigrationEndpoint | Format-List

Creating Migration Batch

You can use New-MigrationBatch for creating a migration batch using the endpoint created in the previous step. You have the option to add AutoStart parameter, as shown below, to start the migration batch automatically or use Start-MigrationBatch cmdlet to start it manually.

New-MigrationBatch -Name Batch1-SourceEndpoint ExMigrationEndpoint -AutoStart

To verify if the batch has started, you can run the following:

Get-MigrationBatch -Identity Batch1 | Format-List Status

After you make changes to the MX record to route mails to your Office 365 organization and also ensure that all users are using their Office 365 mailboxes, you can use the following cmdlet to delete the migration batch:

Remove-MigrationBatch -Identity Batch1

As an endnote, if seamless migrations to Office 365 from Exchange Server without needing to use complex powershell cmdlets is your aim, then make sure to check out EdbMails Exchange migration tool.

Buy Now and avail Upto 75% plus off along with an Edb to PST, Edb to Office 365, Edb to Live Exchange Migrator license from EdbMails! Visit for further details.

Leave A Reply

Your email address will not be published.