This user's on-premises mailbox hasn't been migrated to Exchange Online. The Exchange Online mailbox will be available after migration is completed.

Saif ShaikhServer engineer
CERTIFIED EXPERT
Worked for Microsoft 4 yrs. as an Exchange Admin. Has been in IT for the last 17 yrs. Currently working as Exchange and O365 migration Exp.
Published:
Edited by: Andrew Leniart
This article describes the possibility of an existing mailbox present in an on-premise Exchange server to be synced with an AD account in O365 after assigning a new license mailbox that does not get provisioned.

The Scenario


I have a client who had a user in an on-premise AD which was synced using Azure AD Connect to O365, but after assigning a new license to the mailbox, it did not get provisioned and I got the following error:

This user's on-premises mailbox hasn't been migrated to Exchange Online.

The Exchange Online mailbox will be available after migration is completed.

We could not migrate the user mailbox since Exchange was not uninstalled and few exchange related attributes, such as "MsExchMailboxGuid", "MsExchRecipientDisplayType", and "MsExchRecipientTypeDetails" were stamped with values.

Although this is not difficult to fix, it’s not recommended. The correct and proper approach is to migrate the user mailbox or decommission the Exchange server gracefully from the on-premise site, and then assign a license in O365 so that a new mailbox gets provisioned in Office 365 admin portal.


Here's how I resolved it.

Solution Used

1. Logged in to Active Directory users where the AD account was in the OU
2. Opened properties and went to the attribute editor
3. Noted the vaules of the attributes. I.e. "MsExchMailboxGuid", "MsExchRecipientDisplayType", and "MsExchRecipientTypeDetails"


Example:

MsExchMailboxGuid:

HEXADECIMAL - AB CB 5B BB D9 71 60 44 82 62 EC 5A 3C 26 5D 90
Decimal- 171 203 091 187 217 113 096 068 130 098 236 090 060 038 093 144

msExchRecipientDisplayType : -2147483642

msExchRecipientTypeDetails: 2147483648

4. Cleared all of the above values and verified that the mailbox was now provisioned on the O365 portal
5. Initiated a delta sync from Azure AD Connect DC. Opened a Powershell instance and ran the command: 


start-adsyncsynccycle -policytype delta

6. In MIISClient under updates, verified that the changes were updated
7. Logged in to the O365 admin portal and verified the recent synchronization
8. Went into Active Users in the O365 admin portal and checked the user under mail settings. It was still showing the error: "This user's on-premises mailbox hasn't been migrated to Exchange Online. The Exchange Online mailbox will be available after migration is completed"
9. Removed the O365 Business Essentials license and re-assigned the license again to the same user.
10. Went into Active Users on the O365 admin portal and checked the user under mail settings. This time I saw the message "We are provisioning a mailbox for the user"
11. After some time, I checked the exchange admin portal in Office 365 admin portal and found that the mailbox was now provisioned for the affected user
12. Logged in to OWA for the affected user and verified by sending test emails to ensure that mail flow was working fine

0
34,037 Views
Saif ShaikhServer engineer
CERTIFIED EXPERT
Worked for Microsoft 4 yrs. as an Exchange Admin. Has been in IT for the last 17 yrs. Currently working as Exchange and O365 migration Exp.

Comments (2)

Robert SmithConsultant

Commented:
Saif,

Thanks for this great info. Would I migrate the mailbox from on-prem prior to starting this procedure? Ive been battling this issue for a couple weeks, I have 150 users to migrate, will I be faceing this for all users?

Thanks
Bob Smith
Erik WhitewayConsultant

Commented:
Found a better / easier solution.  You just stop the Mailbox GUID from syncing over to the cloud.  We just ran this procedure, forced a delta sync, and 365 created the mailbox instantly (took 10 min total for all mailboxes and onsite is still fine).

(in case the link goes dead - it's using the AD sync Rules Editor - and syncing the GIUD as null)

How can I set msExchMailboxGUID attribute to null? (rhipe.com) 

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.