For the last two blog posts, I have documented my troubleshooting of a mail migration issue from Exchange 2013 On-Premise to Exchange Online. In this post, I wanted to summarize the lessons learned.
- Before migrating a user’s mailbox from Exchange On-Premise and Exchange Online, the directory synchronization should create a Mail user object in Office 365 for each user on-premise that has an Exchange mailbox.
- If the user has a mailbox object in Office 365 before the migration, then the migration tool will error out.
- To remove the mailbox object, remove the Exchange Online license from the user
- To check the state of user object, run get-user remote powershell command against Office 365. Run get-mailbox against Office 365 to check which users have mailboxes.
- In the Exchange Admin Center in Office 365, you can also check who has a mailbox and who is a mail user by going to the Recipients > Mailboxes or Recipients > Contacts (shows mail enabled users).
- Confirm that all the proxyaddresses on the mail users are in the Accepted Domain both in Office 365 and on-premises Exchange.
- To get an domain into the Accepted Domains in Office 365, it first needs to be registered in Office 365 and confirmed by adding a DNS record to the zone as specified in the documentation.
- In my case, the Active Directory DNS domain name was added to the mail enabled user’s proxy addresses by the on-premise Exchange “Default e-mail address policy”. So, I had to modify the default address policy to specify the SMTP domain instead of the AD DNS domain.
- Although I ran the update-emailaddresspolicy against my on-premises system, it didn’t clean up the proxyaddresses field right away in my users, so I had to manually remove the AD DNS Domain from the proxy addresses. Then I re-ran the directory sync’d and the proxy addresses for the mail users in O365 were updated.
- Run the Office 365 mail migration. Create a batch of users to migrate. The first step of the migration is a synchronization of the mail from on-premises to O365. Once synchronization is complete, run the second step which is to complete the migration.
- When you can complete the migration, the tool changes the on-premise account to be Office 365 and the Office 365 account will be ready to become a mailbox.
- To enable the user’s mailbox in O365, assign the Exchange Online license to the user. Now, the user will be able to access the e-mail in their account which has been migrated.
- Note, you can also initiate a mail migration from the Exchange on-premise server by going to the Exchange Admin Center > Recipients > Mailbox. Select the user and on the right panel at the bottom, initiate a move mailbox to Exchange Online.