Cannot find a recipient that has mailbox GUID when moving from Exchange Online to Exchange 2016

When moving mailboxes from Exchange Online to Exchange 2016 on-premises in a hybrid environment, the move fails with an error “Cannot find a recipient that has mailbox GUID ‘ ‘

image

The error is listed here for Search Engine purposes:

Error: MigrationPermanentException: Cannot find a recipient that has mailbox GUID ‎’add02766-9698-48e6-9234-91c3077137bc’. –> Cannot find a recipient that has mailbox GUID ‎ add02766-9698-48e6-9234-91c3077137bc ‎’.
Report: bramwess@exchangelabs.nl

When checking the user account with ADSI Edit in the on-premises Active Directory it is obvious that this property is empty:

image

When checking the Mailbox in Exchange Online (using Remote PowerShell) the Exchange GUID is visible:

image

It took me some time to figure out why this property was empty. Normally when moving mailboxes from Exchange on-premises to Exchange Online the Mailbox GUID is retained. Keeping the Mailbox GUID makes sure you don’t have to download the .OST file again after moving to Exchange Online.

What happened here is that the user was created in Active Directory on-premises, and a Mailbox was directly created in Exchange Online using the Enable-RemoteMailbox command. In this scenario, there never was a Mailbox on-premises and thus never a Mailbox GUID.

The solution is to copy and paste the Mailbox Guid as found in the previous command into the Remote Mailbox object on-premises using the Set-RemoteMailbox command:

image

When setting the Mailbox Guid the mailbox can be moved from Exchange Online to Exchange on-premises.

Ps. Don’t forget to repeat this for an archive mailbox (if one exists)

4 thoughts on “Cannot find a recipient that has mailbox GUID when moving from Exchange Online to Exchange 2016”

  1. Never realised this, thanks for sharing. If you think about it, it’s strange we should use set-remotemailbox cause the guid is present on the cloud object but not on the on-premises object. Could we also use set-aduser for this (just being curious) ?

    Like

    1. It would make sense if Enable-RemoteMailbox or New-RemoteMailbox would generate the GUID on-premises and then replicate it to Exchange Online. Regarding your question, Set-ADUser is an online commandlet for changing Azure AD, Set-RemoteMailbox is an on-premises cmdlet and changes the Remote Mailbox object in your local AD.

      Like

      1. I agree, that would be better. Also the possibilyt to create a Shared Remote Mailbox! Euhm… Set-ADUser is an on-premises AD cmdlet and not AAD online. So question still remains would it also be possible to use Set-ADUser jaapwesselius –Replace @{msExchGuid = “123456789”} But i presume this is also possible 😉

        Like

      2. You’re right… my bad…. been playing around with Azure AD this morning so a bit confused. The Set-ADUser should also be a possibility I guess, it’s worth a try 🙂

        Like

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s