Skip to main content

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.

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

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!

Leave a Reply