This article covers an Office 365 migration using an Exchange 2007 setup. A “Staged Migration” is the method used to migrate off of Exchange Server 2003 and 2007. In this example the associated endpoint has already been set up and ADFS 2.o is already running (Active Directory Sync with Office 365 and Single Sign On)
Part 1 – Office 365 Migration of Mailboxes
- Sign in with your administrator user to the Office 365 Administration Portal. Click on the “Admin” dropdown menu and go to “Exchange”.
- Now that you are in the “Exchange Admin Center”, click the “Migration” button in the upper right. This will take you to the page you will use to create and monitor Office 365 migrations.
- Next click on the “+” button and select “Migrate to Exchange Online”. This will open up a new window.
- In this example, we are moving off of an Exchange 2007 server, so we will select the “Staged Migration” option and hit the “next” button.
- In the next window, you need to create a CSV file containing all the mailboxes to wish to migrate. Pictured below is exactly how the CSV file should be formatted (shown in excel). The password box just needs something in it, but it doesn’t matter what it is because the passwords will not be changed. Select this CSV file and hit “next”.
- The next window should show your migration endpoint, which you have already set up. Click “next”.
- Create a name for this Office 365 migration job. I usually do something like “050152013 – Migration” to indication the date of the migration (5/15/2013 in this example), but that is just a personal preference. Click “next”.
- Click “browse” to select a recipient for the completion email. The choose whether to automatically start the migration job now, or to manually start it later. I always choose to manually start it later, just so I can see the job and confirm it has the correct number of mailboxes in it before I press the start button. Finish by clicking the “new” button.
- You should now see your new migration job. If you chose to start it later, confirm the “Total” number of mailboxes is correct. When you are ready to start, click on the job and then click the little triangle button (usually used for “play”) to start the job.
- During this phase, mail will start going to the Office 365 mailbox, but you can’t set up a Outlook or Activesync yet, so your best option to access it during the migration is through Office 365 Outlook Web Access. However, because the migration is going on, during this time it is recommended that you don’t delete any folders or move mail around too much. You should probably stick to checking and replying to emails, and nothing more.
- You can check the migration status as it goes in the Exchange Admin Center and it will let you know once it is all done. Once it has finished, you can proceed to Part 2.
Part 2 – Converting Users to Cloud-Based Users After the Office 365 Migration
Once a batch of users has been migrated over successfully in Part 1, you will then need to run the steps below to convert from from an on-premise user to a cloud-based user.
If this is your first time running through Part 2, you need to complete these steps first:
- Create a directory called C:\powershell\
- Create a CSV file in here called migration.csv
- Go to this Office 365 Support Page and download the two powershell scripts (ExportO365UserInfo.ps1 and Exchange2007MBtoMEU.ps1) to the C:\Powershell\ directory you just created. They will be downloaded as .txt files so you will have to change their suffix to .ps1 files
Once you have completed the three steps above the first time, you don’t need to run them again. The steps below need to be run each time you migrate a batch of users up to Office 365.
- Log into your local exchange server as an administrator
- Take the CSV file you used in part 1 for the migration, and copy its contents exactly into the “migration.csv” file you just created. If any of the exchange users failed to sync during part 1, you should delete them from this CSV file. Every user listed in this CSV file is going to be converted from an on-premise mailbox to a cloud mailbox. You don’t want this happen to a user that doesn’t have their emails fully transferred over to Office 365.
- Open up two exchange shell consoles as an administrator (right click on them and say open as administrator)
- In each one, navigate to the directory you created by using the command “cd c:\powershell\”
- In each one, run the command “set-executionpolicy unrestricted” and say yes when it asks if you want to do that
- Then run ExportO365UserInfo.ps1 using the command: “c:\powershell\ExportO365UserInfo.ps1″. It will prompt you for credentials – enter your Office 365 administrator credentials. When finished, it will generate a file in that folder called “cloud.csv”. Make sure that csv file has all your users in it.
- In the second console you have open, run the Exchange2007MBtoMEU.ps1 file plus the FQDN of your local exchange server. For example, it might be “c:\powershell\Exchange2007MBtoMEU.ps1 exchangeserver.abccorp.com”
- The script should report a change for every user in the cloud.csv file. To confirm, you can open up the exchange management console and confirm that the mailbox has been moved to the “disconnected mailboxes” section
Part 3 – Finishing Up the Office 365 Migration
- Once you have migrated them, their mailboxes will work on Office 365 for a limited period of time (the grace period) without licenses. You should sign in immediately and assign the migrated users their Office 365 Exchange licenses so their mailbox will continue to function.
- You will also need to set your users back up. If they used Outlook Web Access, they will now need to use the Office 365 version. If they used Outlook, their mail profile will need to be deleted and set back up to connect to Office 365. If they use a phone, tablet, or other active sync device, their old profile should be deleted and set back up using Office 365.