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.
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 email@example.com -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.