Skip to content

Cannot find a recipient that has mailbox GUID

You have an Exchange Hybrid configuration and want to migrate a mailbox from Exchange Online to Exchange on-premises. Only this time, you get the error Cannot find a recipient that has mailbox GUID or RecipientNotFoundPermanentException. In this article, you will learn why this happens and the solution for cannot find a recipient that has mailbox GUID.

Cannot find a recipient that has mailbox GUID error

You get the cannot find a recipient that has mailbox GUID error when migrating or moving mailboxes from Exchange Online to Exchange on-premises.

This is how the errors appear when you move a mailbox from Exchange Online to Exchange on-premises with PowerShell:

PS C:\> Get-Mailbox -Identity "Edward.Lincoln@exoip.com" | New-MoveRequest -OutBound -RemoteTargetDatabase "DB01" -RemoteHostName "50432168-9cc9-47dc-9a80-f7e9b910474b.resource.mailboxmigration.his.msappproxy.net" -TargetDeliveryDomain "exoip.com" -RemoteCredential (Get-Credential exoip\administrator)

Cannot find a recipient that has mailbox GUID '648d90cb-5485-41a8-b4b4-4d46d6fe0d9e'.
    + CategoryInfo          : NotSpecified: (:) [New-MoveRequest], MRSRemotePermanentException
    + FullyQualifiedErrorId : [Server=DB6P190MB0056,RequestId=1d46ebdd-9493-4d90-a2d1-1b1f5c8181d 
   4,TimeStamp=06/09/2022 11:24:52] [FailureCategory=Cmdlet-MRSRemotePermanentException] 8F469FE  
  ,Microsoft.Exchange.Management.Migration.MailboxReplication.MoveRequest.NewMoveRequest
    + PSComputerName        : outlook.office365.com

You can get a different PowerShell output error, or PowerShell incorrectly displays the error message.

PS C:\> Get-Mailbox -Identity "Edward.Lincoln@exoip.com" | New-MoveRequest -OutBound -RemoteTargetDatabase "DB01" -RemoteHostName "50432168-9cc9-47dc-9a80-f7e9b910474b.resource.mailboxmigration.his.msappproxy.net" -TargetDeliveryDomain "exoip.com" -RemoteCredential (Get-Credential exoip\administrator)

Write-ErrorMessage : |Microsoft.Exchange.MailboxReplicationService.MRSRemotePermanentException|
At C:\Users\administrator.EXOIP\AppData\Local\Temp\2\tmpEXO_au4sx1wr.k4v\tmpEXO_au4sx1wr.k4v.psm1:1159 char:13
+             Write-ErrorMessage $ErrorObject
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [New-MoveRequest], MRSRemotePermanentException
    + FullyQualifiedErrorId : [Server=AS4P195MB1600,RequestId=f2bcc31d-5628-6f59-0f37-a945ec2aa088,TimeStamp=Tue, 15 Aug 2023 08:57:35 GMT],Write-ErrorMessage

This is how the error appears when you migrate the mailbox from Exchange Online to Exchange on-premises in Exchange admin center:

Error: RecipientNotFoundPermanentException:

Cannot find a recipient that has mailbox GUID error RecipientNotFoundPermanentException

The error appears because the mailbox is not created from Exchange on-premises. Therefore, there is no ExchangeGuid property present in the AD on-premises object.

There are a couple of possibilities why this happens:

  • You create an on-premises Active Directory user account and assign an Exchange Online license to the mailbox without the Enable-RemoteMailbox cmdlet.
  • You create a mailbox directly in Office 365 (cloud) without having an on-premises AD user object.

Create cloud mailbox in Exchange Hybrid

To make sure this doesn’t happen again, always follow the below articles when creating Exchange Online mailboxes in Exchange Hybrid configuration:

  1. Create Office 365 mailbox in Exchange Hybrid
  2. Create Office 365 shared mailbox in Exchange Hybrid
  3. Create Office 365 resource mailbox in Exchange Hybrid
  4. Bulk create Office 365 mailboxes in Exchange Hybrid

Now that you know why this error happens and what you need to do so you prevent this error from appearing when migrating mailboxes from Office 365 to Exchange on-premises, let’s look at the solution.

Solution for cannot find a recipient that has mailbox GUID

To fix the error RecipientNotFoundPermanentException, go through the below steps:

Step 1. Start Active Directory Users and Computers and check that the msExchMailboxGUID attribute is not set on the on-premises AD object.

Cannot find a recipient that has mailbox GUID not set

Suppose the AD on-premises object is not present, and the user is created in the cloud. The user already uses the account and has data in the Exchange Online mailbox. Not only there but also in Sharepoint, Teams, and more.

Go through the article sync Azure AD user to on-premises AD, which will create an on-premises AD object and link it to the Azure AD object.

Step 2. Run Enable-MailUser cmdlet to mail-enable the user that isn’t already mail-enabled (Exchange on-premises).

[PS] C:\>Enable-MailUser -Identity "Edward.Lincoln@exoip.com" -ExternalEmailAddress "Edward.Lincoln@exoip365.mail.onmicrosoft.com"

Name               RecipientType
----               -------------
Edward Lincoln     MailUser

Do you get an error after running the above cmdlet? Read the article ExchangeGuid is mandatory on UserMailbox.

Step 3. Run Enable-RemoteMailbox cmdlet to link the cloud mailbox in the cloud-based service for the existing user in the on-premises Active Directory (Exchange on-premises).

[PS] C:\>Enable-RemoteMailbox "Edward.Lincoln@exoip.com"

Name              RecipientTypeDetails     RemoteRecipientType
----              --------------------     -------------------
Edward Lincoln    RemoteUserMailbox        ProvisionMailbox

Step 4. Connect to Exchange Online PowerShell and run Get-Mailbox cmdlet to get the ExchangeGuid property and copy the value (Exchange Online).

PS C:\> Connect-ExchangeOnline

PS C:\> Get-Mailbox "Edward.Lincoln@exoip.com" | ft Identity,ExchangeGuid

Identity       ExchangeGuid                        
--------       ------------                        
Edward Lincoln 648d90cb-5485-41a8-b4b4-4d46d6fe0d9e

Step 5. Run Set-RemoteMailbox cmdlet to set the ExchangeGuid property on the AD on-premises user object (Exchange on-premises).

[PS] C:\>Set-RemoteMailbox "Edward.Lincoln@exoip.com" -ExchangeGuid "648d90cb-5485-41a8-b4b4-4d46d6fe0d9e"

Step 6. Run Get-RemoteMailbox cmdlet and verify that the ExchangeGuid is set on the on-premises AD user object (Exchange on-premises).

[PS] C:\>Get-RemoteMailbox "Edward.Lincoln@exoip.com" | fl Identity,ExchangeGuid


Identity     : exoip.local/Company/Users/HR/Edward Lincoln
ExchangeGuid : 648d90cb-5485-41a8-b4b4-4d46d6fe0d9e

Step 7. Run the command to move the mailbox from Exchange Online to Exchange on-premises (Exchange Online).

PS C:\> Get-Mailbox -Identity "Edward.Lincoln@exoip.com" | New-MoveRequest -OutBound -RemoteTargetDatabase "DB01" -RemoteHostName "50432168-9cc9-47dc-9a80-f7e9b910474b.resource.mailboxmigration.his.msappproxy.net" -TargetDeliveryDomain "exoip.com" -RemoteCredential (Get-Credential exoip\administrator)

DisplayName    Status TargetDatabase
-----------    ------ --------------
Edward Lincoln Queued        

That’s it!

Read more: The archive GUIDs on source and target recipients don’t match »

Conclusion

You learned why you get the error cannot find a recipient that has mailbox GUID when migrating/moving mailboxes to Exchange on-premises from Exchange Online. The solution is to set the msExchMailboxGUID attribute on the on-premises AD object. After that, the move request works.

Always create the cloud mailboxes from on-premises and wait for a directory synchronization before assigning an Exchange Online license. This way, the ExchangeGUID is created successfully for the on-premises AD object, and the error will not appear.

Did you enjoy this article? You may also like Mailbox move failure – Troubleshoot and Fix. Don’t forget to follow us and share this article.

ALI TAJRAN

ALI TAJRAN

ALI TAJRAN is a passionate IT Architect, IT Consultant, and Microsoft Certified Trainer. He started Information Technology at a very young age, and his goal is to teach and inspire others. Read more »

This Post Has One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *