"MigrationPermanentException: Cannot find a recipient that has mailbox GUID <GUID>" error message when you try to move a mailbox in an Exchange hybrid deployment

PROBLEM

Assume that you have a hybrid deployment of on-premises Microsoft Exchange Server and Exchange Online. When you try to "offboard" or move a mailbox that was created in Exchange Online to the on-premises organization, you receive the following error message:
Error: MigrationPermanentException: Cannot find a recipient that has mailbox GUID '<GUID>'. --> Cannot find a recipient that has mailbox GUID '<‎GUID>'

CAUSE

This behavior occurs because the value of the mailbox GUID isn't stamped on the associated mailbox in the on-premises organization.

Note The mailbox value is stored in the ExchangeGUID property (also known as the msExchMailboxGUID attribute).

This situation occurs because the value of the property isn't synced to the associated remote mailbox in the on-premises organization when a mailbox is created in Exchange Online.

To move a mailbox, the value of the ExchangeGUID property must be the same in the Exchange Online mailbox and in the associated on-premises remote mailbox.

SOLUTION

Set the ExchangeGUID property on the associated on-premises remote mailbox before you move the mailbox to the on-premises organization. To do this, follow these steps:
  1. Open the Exchange Management Shell on the on-premises server, and then run the following command to check whether the ExchangeGUID property of the on-premises remote mailbox is set:
    Get-RemoteMailbox <alias of cloud mailbox to move> | Format-List ExchangeGUID 
    Note If the ExchangeGUID property returns all zeros, the value isn't stamped on the on-premises remote mailbox. 
  2. Open Windows PowerShell (don't use the Exchange Management Shell), and then connect to Exchange Online. For more info about how to do this, see Connect to Exchange Online Using Remote PowerShell.
  3. Run the following command to retrieve the value of ExchangeGUID property of the mailbox that you want to move.
    Get-Mailbox <MailboxName> | Format-List ExchangeGUID 
  4. Run the following command to set the value of the ExchangeGUID property on the on-premises remote mailbox to the value that you retrieved in step 3:
    Set-RemoteMailbox <MailboxName> -ExchangeGUID <GUID> 
  5. Force directory synchronization. For more info about how to do this, see the "Force directory synchronization" section of Synchronize your directories.

MORE INFORMATION

To prevent this scenario from occurring, create the mailbox in the on-premises organization, and then move the mailbox to
Exchange Online. This stamps the value of the ExchangeGUID property on the mailbox, and then syncs the value to Exchange Online. After you do this, you can return the mailbox to the on-premises organization.

For more information, see Move mailboxes between on-premises and Exchange Online organizations in 2013 hybrid deployments.

If you experience issues when you move mailboxes to Exchange Online in Office 365, you can run the Troubleshoot Office 365 Mailbox Migration tool. This diagnostic is an automated troubleshooting tool. If you're experiencing a known issue, you receive a message that states what went wrong. The message includes a link to an article that contains the solution. Currently, the tool is supported only in Internet Explorer.

Still need help? Go to Microsoft Community or the Exchange TechNet Forums.
Properties

Article ID: 2956029 - Last Review: Dec 29, 2016 - Revision: 1

Feedback