Configuring an Exchange 2013 Hybrid Deployment and Migrating to Office 365 (Exchange Online) (Part 15)

If you would like to read the other parts in this article series please go to:


In part 14 of this multi-part article series revolving around Exchange 2013 hybrid deployment based migrations to the new Office 365 or more precisely Exchange Online, we took a look behind the scenes by looking at the hybrid configuration settings performed by the hybrid configuration wizard in the Exchange Online organization in our Office 365 tenant.

Let’s get started with this part 15.

Enable Mailbox Replication Service (MRS) Proxy

So as some of you probably know, the Mailbox Replication Service (MRS) Proxy service helps facilitate cross-forest remote mailbox moves. It’s often used when performing a cross-forest migration from a legacy Exchange organization (containing at least one Exchange 2010 or 2013 CAS server as the MRSProxy must be enabled in the source organization) to an Exchange 2010 or 2013 organization. The MRSProxy makes remote mailbox moves more seamless because it, among other things, encapsulates all communication between the organizations in HTTPS packets. If an organization decides to move to Exchange Online in Office 365 (which is the case in this article series) and the organization uses an Exchange hybrid deployment, they also use the MRS Proxy.

With Exchange 2010 based hybrid deployments, the MRS Proxy was enabled when running the hybrid configuration wizard (HCW), but with Exchange 2013 based hybrid deployments, we must enable MRS Proxy manually.

To enable MRS Proxy, open the Exchange admin center (EAC) on an Exchange 2013 hybrid server, then click “servers” and then the “virtual directories” tab.

Figure 1:
Virtual directories on Exchange 2013 hybrid servers

Under the “virtual directories” tab, open the property page for each EWS (Default Web Site) virtual directory on each hybrid server and tick “MRS Proxy enabled” and then click “save”.

Figure 2: Enabling MRS Proxy on the Exchange 2013 hybrid servers

Moving a Mailbox to Exchange Online

It’s time to move a few mailboxes to Exchange Online. Unlike with Exchange 2010 based hybrids, we use so called migration batches and migration endpoints behind the scenes for this task in Exchange 2013.

In order to do so in a hybrid deployment scenario where we have Exchange 2013 on-premises and the Exchange 2013 based Exchange Online version, we can create new remote move requests using the following methods:

  1. Via the Exchange admin center on an Exchange 2013 hybrid server on-premises
  2. Via the Exchange admin center in Exchange Online
  3. Via Remote PowerShell connected to Exchange Online

In this article, we will use the first method, but I will also show you the differences between method 1 and 2 as well as provide you with sample cmdlets for method 3.

Using the Exchange admin center on an Exchange 2013 hybrid server on-premises

To move mailboxes to Exchange Online using the Exchange admin center on an Exchange 2013 hybrid server in the on-premises environment, we need to go to “recipients” and click “mailboxes” as shown in Figure 3. Here we can select the mailbox or mailboxes, we wish to move to Exchange Online followed by clicking ”To Exchange Online” under “Move Mailbox” in the “Action Pane”.

Figure 3: Selecting user mailboxes that should be migrated to Exchange Online

This launches the “new migration batch” wizard and on the first page, we need to provide the credentials for a user that is a member of the “Organization Management” role group in our on-premises Active Directory.

Click “next”.

Figure 4: Specifying credentials of on on-premises Exchange administrator

The “new migration batch” wizard will now try to automatically determine the migration endpoint (MRS Proxy FQDN) to be used. If it doesn’t succeed, you have the option to enter it manually. The migration endpoint usually matches the external URL configured for the EWS virtual directory. In my case, it’s “”.

On this page you will also be notified about whether the MRS Proxy is enabled or not.

Click “next”.

Figure 5: Remote MRS Proxy FQDN

Okay, it’s time to name the migration batch. The name can be anything, but if you are going to create multiple migration batches, it’s a good idea to just call them “Migration Batch 1”, “Migration Batch 2” etc.

On this page, you should also make sure the correct target delivery domain is listed. This should be “”.

Finally, you have the option to specify whether an associated archive mailbox should be moved and configure the bad and large item limit.

Click “next”.

Figure 6:
Remote Move configuration

We’re now taken to the “start the batch” page. Here we can specify the recipient that should receive an email with migration information and a link to a CSV based migration report.

On this page, you also have the option to specify whether the migration batch should be started manually, automatically or whether it should be scheduled to occur sometime in the future. Same goes for the completion of the migration batch.

Click “new”.

Figure 7:
Starting the migration batch

The migration batch will now be created and you will be faced with the dialog box shown in Figure 8. Let’s click “yes” so we’re taken to the migration dashboard.

As can be seen in Figure 8, an alert is also generated that can be seen by all global administrators logging into the portal, while the migration batch is running.

Figure 8:
Opening the migration dashboard.

In the migration dashboard, we can see the actual status for the mailboxes included in the migration batch. To see more details about the migration batch, let’s click “view details” in the highlighted area in Figure 9.

When we click “yes” to the dialog box shown in Figure 8, notice we are taken to the migration dashboard in Exchange Online and not the migration dash board on the Exchange 2013 hybrid servers. The reason for this is that when you create a migration batch, the batch is created in Exchange Online not on-premises and the MRS service pulls the mailbox data from the on-premises mailboxes using the MRS Proxy on the Exchange 2013 hybrid servers.

Figure 9:
Viewing details of the migration batch

On the migration batch detail page, we can see the mailboxes listed, the status for each and how many items that have been synched to the mailbox that is provisioned in Exchange Online.

Figure 10: Further migration batch details

In the migration dashboard, we also have the option to click “Status for all batches”, which takes us to the page shown in Figure 11.

Figure 11: Status for all migration batches

Back in Figure 7, I chose to complete the migration batch manually, so once the mailbox data for each mailbox has been fully synched to Exchange Online, I need to click “Complete this migration batch” to finalize the migration batch.

Figure 12:
Migration batch fully synched

Click “yes”.

Figure 13: Migration batch completion warning

After a little while, the status for the migration batch will changed to completed (remember to refresh the page).

Figure 14:

The recipient that was specified in the migration batch has now received an email similar to the one shown in Figure 15. In this email is included a link to a CSV based migration report.

Figure 15: Email sent to specified recipient after migration batch has completed

When a migration batch has completed, it’s recommended to delete it so that errors don’t occur should the same users be moved again.

The migration endpoint that was created for migration batch will not be deleted and can be re-used for new migration batches created in the future.

You can find the migration endpoint by clicking the dots (“…”) in the migration dashboard or by connecting to Exchange Online using Windows PowerShell and run:

Get-MigrationEndPoint | fl

Figure 16: Migration endpoints page

Figure 17: Migration endpoint details in Exchange Online using Windows PowerShell

Using the Exchange admin center in Exchange Online

If you want to create a migration batch directly in Exchange Online instead of selecting the users via the Exchange 2013 hybrid servers, you will need to go the EAC and then click “Office 365” as shown in Figure 18.

Now click “recipients” and then the “migration” tab.

Figure 18: Opening migration dashboard in Exchange Online

Click on the “plus” icon and select “Migrate to Exchange Online”.

Figure 19: Selecting migrate to Exchange Online in drop-down menu

Now you need to select the “migration type”, which of course is the first type listed.

Figure 20:
Specifying migration type

Like was the case with method 1, you now need to select the users to be migrated to Exchange Online. Notice that you also have the option of specifying a CSV file with a list of the user mailboxes to be migrated.

Figure 21:
Options for selecting users to be migrated

The rest of the pages are more or less identical to method 1, so no need to go through them here.

Using Remote PowerShell connected to Exchange Online

If you want to use Remote PowerShell to migrate user mailboxes, you first need to connect to Exchange Online using Windows PowerShell. You can do this using:

$LiveCred = Get-Credential

In the appearing dialog box, enter the credentials for a Global Administrator in the Office 365 tenant and then run the following command:

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $LiveCred -Authentication Basic –AllowRedirection

When the session has been created, you can import using this command:

Import-PSSession $Session

Now that we are connected to Exchange Online, we first need to create the migration endpoint. To do so, first enter the following and then specify the credentials of an account that is member of the “Organization Management” role group in the on-premises Active Directory.

$OnPremCreds = Get-Credential

You can now create the migration endpoint with this command:

$MigrationEndpointOnPrem = New-MigrationEndpoint -ExchangeRemoteMove -Name OnpremEndpoint -Autodiscover -EmailAddress [email protected] -Credentials $OnPremCreds

You will need to replace the domain part in the email address with the one used in your environment.

In this example, we will migrate all users listed in a CSV file located on our system partition:

$OnboardingBatch = New-MigrationBatch -Name MigrationBatch1 -SourceEndpoint $MigrationEndpointOnprem.Identity -TargetDeliveryDomain -CSVData ([System.IO.File]::ReadAllBytes(“C:\MigrationBatch1.csv”))

To start the migration batch, we use the following command:

Start-MigrationBatch -Identity $OnboardingBatch.Identity

For details around how the CSV file should be constructed, see this piece of TechNet documentation.

This concludes part 15 of this multi-part article in which I explain how you configure an Exchange 2013 hybrid deployment followed by migrating to Office 365 (Exchange Online).

If you would like to read the other parts in this article series please go to:

Leave a Comment

Your email address will not be published.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top