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.
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"
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
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
Take hold of your future.