Read time: 4 minutes

When on-premises Exchange Server and Exchange Online (Microsoft 365) are used together, it is considered a hybrid deployment where both Exchanges remain operational. There are mailboxes that the administrator can migrate between on-premises and online versions. Due to improper settings and lack of necessary permissions, the migration can fail at any stage of the process, and you can get a random error. Generally, the admin can delete a migration batch and restart the process again, but you can also perform some troubleshooting tricks to overcome such errors without deleting the batch.

First, check how Exchange Server considers migration in a hybrid environment.

Onboarding – Migration of on-premises mailboxes to Exchange Online is called onboarding.

Offboarding – Migration of Exchange Online mailboxes to on-premises Exchange is called offboarding.

How does onboarding start?

In Exchange Admin Center, you can create a new move request for the selected mailboxes.

  1. Open Exchange Admin Center and log in with the admin credentials.
  2. Go to the Migration option, click + icon, and choose ‘Migrate to Exchange Online.’
  3. Follow ‘Select a migration type’>>’ Remote move migration’ and click Next.
  4. Choose the mailboxes that you require to migrate to Exchange Online.
  5. Provide the on-premises Exchange account details on the ‘Enter on-premises account credentials’ page.
  6. Choose an existing migration endpoint in the ‘Confirm the migration endpoint page and ensure that the endpoint is MRS proxy enabled.
  7. Please provide a name to the migration batch and start it. It will migrate Live Exchange Server to Office 365 mailboxes.
How does offboarding start?
  1. Login to Microsoft 365 with your admin account and go to the Admin app.
  2. Open Exchange Admin Center from the Admin list.
  3. Go to the Migration section, click Add (+), and then choose ‘Migrate from Exchange Online.’
  4. Choose the Remote move migration option in the ‘Select a migration type page’ as the migration type.
  5. Choose all the mailboxes that you require to migrate to on-premises Exchange.
  6. The next page is ‘Enter on-premises account credentials,’ where you must input the full name of the on-premises database name.
  7. The ‘Confirm the migration endpoint’ page will ask you to access the endpoint, and it should have MRS Proxy enabled for migration.
  8. Input a name to the migration batch and begin the migration.
How do we troubleshoot the errors in Exchange mailbox migration?

The troubleshooting methods are based on the cause of migration errors, and you should use them in accordance with your type of error. The errors can occur in any kind of migration like Office 365 cutover migration, staged, or even hybrid one. We are giving some general methods that may prove helpful in running a safer Exchange migration.

Method 1 – Check the current status of the migration request

Before troubleshooting, you should determine the status of the current migration request.

  1. Connect Windows PowerShell with Exchange Online and run the following cmdlet:
    Get-MigrationBatch |fl *status*,Identity
  2. If the status of the migration batch shows completed, then it is great as the migration is completed successfully.
  3. If the status is queued/suspended/syncing/in-progress or failed, then go to other methods.
Method 2 – Check the accepted domains

Sometimes, the domain names of the user in Exchange Online are not accepted by the service, and the migration batch may fail due to such unaccepted domains. You must verify them in the service.

  1. Start Exchange Management Shell and run a special command-
    (Get-Mailbox’ username’).EmailAddresses.
  2. In the resultant list, note down the name of domain names.

  3. Open Windows PowerShell and connect with the Exchange Online account.
  4. Run the cmdlet-
  5. In the new list, check if there are domain names that you took in the first step. If not, then add them with the help of your domain registrar.

Method 3 – Make sure that IIS Server is accepting migration

IIS network server responds to the current migration request with the help of some traffic handlers like EWS and Autodiscover. If the migration batch shows syncing state for a longer period, you can check if the traffic in the IIS server is mapped properly.

  1. In Administrative tools, open IIS Manager.
  2. Follow server name>>sites>>default web site>>EWS.
  3. Open the Handler Mapping option. Look for a specific mapping where the name is ‘svc-integrated,’ path is ‘*svc,’ and State is ‘Enabled.’
  4. Check the same process for Autodiscover virtual directory.
  5. If the values are missing, then in the Exchange System, open the command prompt and change the directory to the given path-
    Drive:\Windows\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\
  6. Input the command-
  7. ServiceModelReg.exe -r

    Input enter and restart the migration batch.

Method 4 – Run the migration batch through PowerShell

Running the migration request through PowerShell brings better results, and it requires lesser steps too.

  1. Open Windows PowerShell and connect it with Exchange Online.
  2. In a user-defined variable, input the credentials of your on-premises Exchange Server.
  3. Run the other cmdlet to start the migration batch –
    New-MoveRequest -Identity ‘User’ -Remote -RemoteHostName ‘’ -RemoteCredential $ExchangeCred -TargetDeliveryDomain ‘’


Proper troubleshooting is required to fix errors during manual migration between Exchange on-premises and Exchange Online platforms. And many work hours will be consumed in troubleshooting, which can also damage the databases. You should use a professional Exchange Migration tool like Kernel Migrator for Exchange and create a batch in which the information of source and destination will be saved. There are ample filters and scheduling features to ease the migration and lower the chances of errors.

Kernel Migration for Exchange
Related Posts