Read time 4 minutes

In the hybrid environment where both Exchange on-premises and Exchange Online exist together, the migration is conducted through a migration endpoint when performed using the manual Office 365 or Exchange Server migration using the Exchange Admin Center interface. The endpoints are the connectors that join both the platforms to migrate mailboxes from one deployment to another. Administrators have control over selecting the maximum limit of mailboxes in the batch migration from source to destination account via settings of Max. Concurrent Migrations under the Migration endpoint and that process we are going to learn here.

First, let us go through the basic stages included in the native migration from Exchange to Office 365.

Migrate mailboxes from Exchange to Office 365 Using Hybrid Configuration

Migration of mailboxes from an on-premises Exchange Server to Office 365 using the hybrid configuration involves the steps:

  1. Create a migration endpoint
  2. Enable the MRX Proxy Service
  3. Move mailboxes using EAC
  4. Remove the migration batch after completion

Thus, migration to the cloud using the hybrid configuration starts with the creation of migration endpoints.

Migration endpoints – why are they important?

Migration endpoints define the connection settings between Exchange on-premises and Office 365. It has information such as FQDN of the on-premises server, a description (Name), and Exchange Online log in credentials. To ensure the best performance of a migration endpoint, there are a few parameters you can configure as per your requirements.

  • MaxConcurrentMigrations: this is the number of mailboxes that can be moved from the endpoint. It can be defined by the user, though its default value is 20.
  • MaxConcurrentIncrementalSyncs: This is the number of active delta synchronizations that can be active at a time (its default value for the default endpoint is 20, but for the new endpoint it is 10).

But you can increase the limit for the concurrent mailboxes using the Exchange Admin Center or PowerShell.

Set concurrent limitation using Exchange Admin Center

You can set the concurrent limit for migration while creating a migration endpoint or edit an existing migration endpoint. Here is the procedure to create the migration endpoint –

  1. Login to Office 365 using administrator account and follow recipients>>migration. Here click the (…) icon and select Migration Endpoint.
  2. At the migration endpoint page, click (+) Add icon.
  3. Choose the first option of Remote Exchange. Click Next.
  4. The Migration Endpoint Wizard requires you to input Email Address, Account with privilege (domain\user name), and password. The account should have administrative rights.
  5. On the next page, input Remove MRS proxy server of your Exchange online account. Click Next.
  6. On the next page, provide a unique migration endpoint name and the options for concurrent migration. The first one is ‘maximum concurrent migrations,’ and the second is ‘maximum concurrent incremental sync.’ Input the desired value and click New.
  7. A new migration endpoint is created with the appropriate value of maximum concurrent migration.

If you have already created the migration endpoint, but you want to alter the value of concurrent migration, then you can change it also. Follow the below steps:

  1. Go to recipient>>migration.
  2. Select the migration batch which you need to change and View details under Associated endpoint. It will open the ‘Edit Migration Endpoint’ window.
  3. In the window, enter the ‘maximum concurrent migrations’ value.
    Note: The limitation of concurrent migration is 300.
  4. Click Save.
Set concurrent limitations using Windows PowerShell

There is a special cmdlet ‘MaxConcurrentMigrations’ to set the concurrent limitation. First, you need to connect the windows PowerShell with Exchange Online and then run the command. Here are the steps:

  1. Start Windows PowerShell as an administrator.
  2. Run the command –
    Set-ExecutionPolicy Unrestricted

    The command will allow you to run any script even if it does not have a digital signature.

  3. Run the command –
    $livecred = Get-Credential

    It will ask you to input the Administrator credentials and place it into the $livecred variable.

  4. Run the command –
    $s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $cred -Authentication Basic -AllowRedirection

    The command creates a session with Exchange Online.

  5. Run the command –
    $importresults= Import-PSSession $s

    The command places the session to the $importresults variable.

  6. Run the command –
    Set-MigrationEndpoint –Identity EndpointName -MaxConcurrentMigrations Value

    Here at the EndpointName, you will input the name of migration endpoint, and at Value, you will input the desired value for concurrent migration.


The concurrent value (MaxConcurrentMigration) creates a limit for the total number of mailboxes you can migrate in the migration batch. Because of such complex settings, it is evident that Exchange to Office 365 migrations are complex. However, if you like to have a more controlled migration, you can use the Kernel Office 365 migration. This tool allows you to conduct a migration without any hassles. You just need to select a source Exchange and destination Exchange Online account, provide credentials, and apply proper filters. You can execute the migration immediately or schedule it at your convenience.