I have done a lot of Exchange Online Migrations over the years and I would like to share my tips & tricks in moving the mailboxes via Powershell. I am going to discus moving a single mailbox, moving mailboxes in bulk, offboarding mailboxes back to Exchange On-Premises. Furthermore I am going to show you how to collect information in CSV’s so you can move them easier.

Tips & Tricks

Firstly, I want to say that I prefer move requests over migration batches. If you know you way around Powershell this gives you more control and the completion of mailboxes will take less time.

Single mailbox to Exchange Online

Let’s start with migrating a single user to Exchange Online.

If you get the error that the command “Connect-ExchangeOnline” does not exist please install the MSOnline module with command:

This is the command where you get status of the move request:

For example, this is what the status of a move request looks like:

Exchange Online Migration Move Request status.

To complete the mailboxes that have the “StatusDetail” of “AutoSuspended”, this is the status where mailbox is synced and is ready to be completed.

AutoSuspended move-request

We run the following command because we stated earlier that the move-request needs to be “AutoSuspended”

To remove completed move-request please use the following command:

Single mailbox to On-Premises

Secondly, let’s move a mailbox back on-premises:

You can use the same commands to check the status of the move request and to remove the move requests.

Bulk mailboxes to Exchange Online

The principle is the same for the single user move-request. The only code that has been added is a CSV import and a foreach loop.

This is code:

For example, this is output when you run this command:

The move request are created 1 at a time, this means you can complete them one at a time or all together if you like.

Bulk mailboxes to On-Premises

This principle is the same for the bulk mailboxes to Exchange Online only the code is a little bit different.

Collect CSV’s

You can easily collect the information needed from the Exchange Admin Center.

Go the mailboxes that you want to migrate and click on the elipsys:

Exchange Admin Center

After that choose the option to “Export to CSV”:

Next choose to only export the Emailaddress:

This is the result:


Exchange Online Move Commands
Check if users have their mailboxes on-premises

More info about Exchange Online:

Exchange Online Error HCW8108

Related Posts

One thought on “Exchange Online Migrations Tips & Tricks

Leave a Reply

Your email address will not be published. Required fields are marked *