A migration endpoint is a management object in Exchange Online that contains the connection settings and administrator credentials for the source server that hosts the mailboxes that we want to migrate to Exchange Online.
For certain migration types such as a cutover or staged migration, the migration endpoint also defines the number of mailboxes to migrate simultaneously during initial synchronization and the number of mailboxes to synchronize simultaneously during incremental synchronization, which occurs once every 24 hours. During incremental synchronization, on-premises and Exchange Online mailboxes are synchronized so that new e-mails sent to mailboxes on the source server are copied to the corresponding Exchange Online mailbox.
In this post, we are going to look at migration points for a Hybrid deployment. When moving mailboxes, Exchange will try to automatically determine the migration endpoint (MRS Proxy FQDN) to be used. If unsuccessful, we can enter it manually if we are using the EAC for example. After a migration endpoint is created, it will not be deleted so that Exchange can re-use it for further migrations.
It is always recommended to test the connection settings to the server that hosts the mailboxes that we want to migrate. The connection settings will be tested when we create a migration endpoint, but verifying the settings before creating an endpoint will give us an opportunity to troubleshoot any issues (note that the Credentials parameter specifies the logon credentials for an account that can access mailboxes on the target server):
$Credentials = Get-Credential Test-MigrationServerAvailability -ExchangeRemoteMove -Autodiscover -EmailAddress "email address for on-premises admin account" -Credentials $Credentials
For onboarding and offboarding remote move migrations in an Exchange hybrid deployment, we have to create Exchange Remote migration endpoints. The migration endpoint contains the connection settings for a Client Access server in our on-premises Exchange organization. To allow this Client Access server to accept incoming remote move requests, we have to enable the MRS Proxy endpoint by running:
Set-WebServicesVirtualDirectory "EXCH-SERVER\EWS (Default Web Site)" -MRSProxyEnabled $True or Get-WebServicesVirtualDirectory | Set-WebServicesVirtualDirectory -MRSProxyEnabled $True
Note: the same Exchange Remote migration endpoint can be used for moving on-premises mailboxes to Exchange Online or for moving Exchange Online mailboxes to your on-premises organization.
The following example creates an endpoint for remote moves by using the Autodiscover parameter to detect the required settings:
$Credentials = Get-Credential New-MigrationEndpoint -ExchangeRemoteMove -Name OnpremEndpoint -Autodiscover -EmailAddress firstname.lastname@example.org -Credentials $Credentials
Alternatively, we can manually specify the FQDN of the server(s) we want to use (this is useful in a globally dispersed environment to ensure that mailboxes are moved using a local server):
$Credentials = Get-Credential New-MigrationEndpoint -ExchangeRemoteMove -Name OnpremEndpoint - RemoteServer MRSserver.letsexchange.com -EmailAddress email@example.com -Credentials $Credentials
In this case, when moving mailboxes using New-MigrationBatch we can use the SourceEndpoint parameter to specify the endpoint we just created.
To verify that we have successfully created the Remote migration endpoint, simply run:
Get-MigrationEndpoint OnpremEndpoint | FL