Planning Your Exchange Online Migration

You maybe at a point like me where you are planning a large Office 365 migration. The anchor to your migration and the largest piece will likely be your Exchange migration. While many people dislike email, it typically is one of the foundational pieces of communication for any company. Let me ask you this. If you’re opening a company, and you have a domain name. What is one of the first things you setup and publish? It likely won’t be instant messaging or some kind of CRM. While they are important and valuable, email is usually the first entry point to communication.

In the same vein, Exchange Online is probably going to be your first touch point into Office 365, and everything else will follow. Before you schedule the date to migrate to Office 365 and Exchange Online, doing some kind of “spring” cleaning on your Exchange environment will yield dividends. The spring cleaning is even more valuable when you may not have a dedicated IT staff or a large IT staff where people do things differently in different situations.

If you’re coming from Exchange 2010, I find this exercise even more valuable. From a very high level, I like to look specifically at contacts, mailboxes and distribution lists. Cleaning up these 3 things will make your Global Address List more relevant, keep your Exchange environment up to date and leaner which in turn will save you money on your Exchange Online subscription and increase the speed of your migration. Performing these exercises, you get the added benefit of knowing your environment having just spend some time looking at all of the records.

  • Look at your contacts and make sure they are relevant and up to date. I like to use powershell to get them into an Excel spreadsheet to review all of the records outside of Exchange. To do this use the Exchange Management Console.

GetMailContact ResultSize unlimited | exportcsv c:\whatever.csv

  • Review your distribution lists. Not necessarily for membership, but for relevance and usefulness. This exercise may have you checking with other groups to see if they are still using the distribution groups. The PowerShell script for this is a little bit more complex, but luckily a quite review of the Technet galleries reveals that someone has already done this. Now I said above that you don’t necessarily have to review membership here. You can, but in the next step you will review the mailboxes for all relevant mailboxes, which may also help you clean up your distribution lists. Now that you have it exported you can simply do a find and delete while cleaning up your mailboxes.

  • Clean up your mailboxes. In Exchange 2010, I’ve discovered that this step is even more important because it’s not that easy to create a Shared Mailbox. Shared Mailboxes in Exchange 2010 are created in PowerShell only. In Exchange 2010 and 2016, there is a section to create a Shared mailbox. I’ve found in Exchange 2010 many people will simply create a user mailbox and share it. This becomes messy especially when migrating to Exchange Online because a user mailbox creates an Active Directory user object, and that consumes a license in Exchange Online. In the spring cleaning activity you will export your mailboxes to a spreadsheet and identify any User mailboxes that can be changed to a shared mailbox. The PowerShell command to do this is simple

getmailbox | export-csv c:\whatever.csv

Once you have this spreadsheet, you can identify working with other departments what should be a User mailbox and what should be a Shared mailbox. Once this is completed you can filter and copy the mailboxes to be converted into it’s on CSV file and use something like the following in the Exchange Management Shell

$ConvertToShared = import-csv .\Mailboxes-ConvertToShared.txt
Foreach ($User in $ConvertToShared) {set-mailbox -Identity $user.PrimarySMTPAddress -Type Shared}
Set-Mailbox ConfRoom1 -Type shared
I highly recommend doing this before you migration to Exchange and spend the time getting your ducks in a row before finding out you are not licensed enough or you are paying for too many licenses. The change is slightly more cumbersome in Exchange Online because you have to decommission the license once converted.
Spending the time to clean up your Exchange environment before migrating to Office 365 is a useful endeavour that will help you learn some new PowerShell tricks, possibly save some money and definitely speed up your environment. If nothing else, you will become very familiar with your Exchange environment which will help when managing it through Office 365.


  1. I¡¯m not that much of a internet reader to be honest but your blogs really nice, keep it up! I’ll go ahead and bookmark your website to come back in the future. Cheers

Leave a comment

Your email address will not be published.