PowerShell is a powerful tool for administrators in an Office 365 migration, as it can simplify the process in many ways. This automation platform and scripting language for Windows and Windows Server that allows you to simplify the management of your systems harnesses the power of .NET Framework. Because there are numerous nuanced aspects to migration, it's beneficial to have a guide to using PowerShell that briefly explores the staged migration process.
Step 1: Prepare for a staged migration
Before you migrate mailboxes to Office 365 by using a staged migration, there are a few changes you must make to your Exchange environment. The migration service utilizes Outlook anywhere for connection with on-premises Exchange Server, which is also known as RPC over HTTP. You can check the configuration settings using Outlook anywhere via several methods such as running the different mentioned commands on Exchange Online PowerShell.
This step requires setting permissions for mailbox access via one of several methods that are determined by whether you are a member of the Domain Admins group, have Full Access, or have Receive As permission status . You must disable unified messaging (UM) if it’s turned on for on-premises mailboxes and remember to turn UM on after completion.
Step 2: Staged migration batch via CVS file creation
Once on-premises mailbox users targeted for Office 365 migration are identified, migration batches are created with a comma separated value (CSV) file. This CVS file contains on-premises mailbox information used by Office 365 to run the migration. Staged migration enables an unlimited number of mailbox migrations.
Step 3: Create a migration endpoint
For successful migration to Office 365, proper communication, as well as connection, is required with the email system. To perform this, Office 365 utilizes a migration endpoint. It can be created by using PowerShell, but it requires that you first connect with Exchange Online. The endpoint can be created using the “StageEndpoint” command.
Step 4: Creating and implementing a stage migration batch
Users can utilize the New-MigrationBatch cmdlet in Exchange PowerShell for creation of batch migration for cutover migration. They can make a migration batch and begin it automatically by including the “AutoStart: parameter. Otherwise, it can be created and started manually after utilizing the Start-MigrationBatch cmdlet.
Step 5: Conversion of on-premises mailboxes to mail-enabled users
Successful batch mailbox migration requires a method for user mail retrieval when targeted migration users simultaneously have an on-premise mailbox and an Office 365 mailbox. This can be remedied by a provided method that allows you to change the on-premises mailboxes that have already been migrated so that those users have access to their emails. After all mailboxes in a batch have been migrated you can delete a staged migration batch via a command in Exchange Online PowerShell.
Step 6: License assignment to Office 365 users
To activate migrated Office 365 user accounts, you must assign licenses. Failing to do this will result in the mailbox being disabled after the 30-day grace period.
Step 7: Post-migration process completion
The final step in decommissioning the on-premises Exchange servers comes after verification of all mail to Office 365 mailboxes. At this point, barring any SSO implementation, you can uninstall Exchange from servers and remove it.
Depending on the size of your organization and the work you put into your Office 365 migration planning, it can still be a challenging process to accomplish a successful migration. Many organizations will choose to have the support of an experienced third-party provider that can guide the process successfully. This brief guide prepares you for how the process generally works with PowerShell so that administrators have a baseline understanding of what needs to happen.