Exchange Online: Mail Migration Lessons Learned (Part 3)

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).

clip_image001  (Shows Users with Mailboxes on 365)

clip_image001[5](Shows Users that are mail 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.


This entry was posted in Exchange, Office 365 and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s