How to wrap up an Office 365 IMAP Migration

On a recent migration from hosted Exchange to Office 365 using an IMAP Email Migration, we ran into a bit of an issue when trying to complete the migration:

There’s no way to stop it gracefully!

It turns out that Microsoft has removed the Stop button, and have deprecated the PowerShell cmdlet Complete-Migration (see below).



Why is this a problem?

Well, the Stop command (or the Complete-Migration command in PowerShell) is supposed to contact the server and run one last sweep through the mailboxes for any changes that have happened since the migration started. Once it runs that final sweep and syncs any changes, it stops the migration and sends a report to whomever you have specified at the beginning of the migration. Since this is no longer an option, Microsoft suggests letting the migration run completely through and then waiting 24 hours after cutting over your MX records to allow it run another sweep.

However, an IMAP migration can take a very long time to complete, and it won’t run a second pass at your migration until it has completed at least once. So, if you’re under the gun and trying to complete your migration before the end of the month in order to avoid another billing cycle for your client on their old Exchange provider, you’re going to have to come up with a Plan B.


Now what? What’s my Plan B?

The answer is simple – backups! Make a backup of your OST files (Export to PST from Outlook). Once you’ve set up the Office 365 Outlook profile, you can import from the PST and it will sync up into Office 365 at its own comfortable pace, getting you out from under the gun and enjoying your weekend.

Once you’re happy that you have all your mailboxes backed up, you can pause the migration and click the delete button in the Exchange Control Panel. The does the equivalent of the Remove-MigrationBatch PowerShell command, but it does not sync any changes in your mailboxes on the server.

My final opinion:

The IMAP migration process has more glitches and gotchas than it’s worth – and here’s why:

  1. It won’t copy over calendars and contacts, so you’re forced to migrate those manually
  2. It won’t copy any folders with a forward slash in its name (/)
  3. It won’t copy any items larger than 35MB (this is the official MS word, but rumors on the community forums are that it can skip file sizes as small as 30MB – Your mileage may vary)
  4. Unlike a migration from On-Premise Exchange, it won’t tell you what has been skipped, or why
  5. It can take forever! A simple migration of 35 users ran for over a full week (168 hours) without completing a full sweep

From now on, any migrations out of a Hosted Exchange provider that I need to do, I’m going to be exporting Outlook profiles and importing them for each user. This plan of attack might take a while to get up into the cloud, but for the most part your users are not going to mind – they have everything on their computers in their Outlook profiles, and it will sync up to the cloud with no further interaction on your part. Just make sure that you have cut the MX records over first and waited a while to catch any email stragglers.

Good Luck, Have Fun!


2 thoughts on “How to wrap up an Office 365 IMAP Migration

  1. Hello, I’m in the middle of a migration and I’m having the same issues that you mention on this post. I’m trying to migrate 401 mailboxes, but I have just migrated 60 or so, and I’ve been doing this for about 2 weeks now.
    These are just the smalles mailboxes, starting from 1MB to 200MB, but I’ve found really difficult to migrate greater sizes (e,g. 500MB, 1GB, 2GB and 3GB)
    Please help me. Can i contact you for? This is my email


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 )

Facebook photo

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

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.