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 ‘ ‘
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:
When checking the Mailbox in Exchange Online (using Remote PowerShell) the Exchange GUID is visible when using the command
Get-Mailbox -Identity name@exchangelabs.nl | Select Name,*GUID*
As shown in the following screenshot:
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
Set-RemoteMailbox user@exchangelabs.nl -ExchangeGuid “copied value”
As shown in the following screenshot:
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 anchive mailbox (if one exists)
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) ?
LikeLike
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.
LikeLike
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 😉
LikeLike
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 🙂
LikeLike
I was wondering if the behavior is “new” that no ExchangeGUIDs are created for remote mailboxes in Exchange on-prem. I think I to remember that this wasn’t the case in the past.
What do you think?
LikeLike
as far as I know this has never been the case (but I might be wrong though)
LikeLike
This has always been the case when using enable-remotemailbox for example. There is also a support article about this that explains to set the guid. https://docs.microsoft.com/en-us/exchange/troubleshoot/shared-mailboxes/cannot-access-mailbox
You can use the script to fix it at https://serverfault.com/questions/901582/why-is-exchangeguid-blank-for-user-that-we-use-enable-remotemailbox-on
LikeLike
Good Day Jaapwesselius and thank you for your post
I have a similar issue but mine is referencing a GUID from elsewhere (Mailbox location when looking deeper into the mailuser from Exchange Online), the ExchangeGUID from both On-Prem and Online are identical
What could cause this and how can I resolve it
Thank you
Jabu
LikeLike
Hello Jabu,
That’s a weird issue, both GUID’s should match (if you are running a hybrid scenario, and moved the mailbox to Exchange Online using hybrid) and in your scenario they do, so I assume the procedures are right. Can you find the GUID in AD or Azure AD that is referenced in the error message?
Thanks, Jaap
LikeLike
Hi Jaap, thank you for your prompt response
Yes I did manage to find a reference of the GUID (0cbba629-5585-446e-a373-dd5b8be29cee) on the MailUser from Exchange Online whch is referencing a mailbox location but it doesn’t add up, see below
MailboxLocations : {1;0cbba629-5585-446e-a373-dd5b8be29cee;ComponentShared;ZAFP275.PROD.OU
TLOOK.COM;26372284-189b-46e0-b79e-e2ed5c58afc8, 1;955e78f4-cf2a-47e5-a9
77-9b07d90a1034;ComponentShared;ZAFP275.PROD.OUTLOOK.COM;b1b0eb90-bc80-
4dc7-9389-25d43fc5f8ed}
LikeLike