In the present article, we will discuss the step-by-step procedure to access the hosted Exchange mailboxes and migrate to Exchange Online (Office 365). You need to arrange both source and destination platforms for the migration and then start the migration from the Exchange Admin Center.
Prepare the source hosted Exchange environment
Here are the detailed steps –
- Create a new account for the migration and also grant the full access rights to each mailbox for the respective account. Run the PowerShell cmdlet.
Get-Mailbox -ResultSize unlimited | Add-MailboxPermission -AccessRights FullAccess -User <the user account name>
- Allow the impersonation right to the user. It is very important to have the impersonation rights for a large size migration. Run the cmdlet.
New-ManagementRoleAssignement -Role ApplicationImpersonation -User <username>
- Export the mailboxes to a CSV file.
NOTE: If you are an administrator, then you do not need to provide the password for every mailbox. But a non-administrator needs to provide both mailboxes and password in the CSV.
Prepare the destination environment
Here are the steps –
- Setup the user account to receive the mailboxes.
- Create a new admin account which will have all the permission related to the mailbox.
NOTE: You need to create a new admin account because if the user is a part of the Domain Administrator, Schema Administrator, or Enterprise Administrator groups, then they cannot have any administrative rights for migration. There is a default security setting in Exchange Server which prevents such admin accounts from migration even if they have the required permission.
- Create a new Exchange PowerShell session for the migration.
$s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic -AllowRedirection
- Grant the permission for migration with the following cmdlet:
Get-Mailbox -ResultSize Unlimited | Add-MailboxPermission -AccessRights FullAccess -Automapping $false -User <username>
- Disable the throttling for the Administrator account.
- Verify that Administrator account is accessible in EWS.
- During migration, if the attachment along with the messages is larger than 10 MB, then you need to change some limit settings in the destination mailboxes – increase maximum message size limit, maximum accepted content length, maximum receive message size, and maximum accepted request length.
Start the Migration
The Exchange Online administrator can start the migration using the E-mail Migration wizard present in the Exchange Admin Center. The administrator can create multiple migration batches and can control the migration throughout time. You can also run multiple migration batches at one time. They will run separately and will not affect the efficiency of each other.
Here is the process to create the migration batches using the E-mail migration wizard:
- Sign in to Office 365 with administrator credentials (https://portal.office.com)
- Go to Admin option, and then click the Exchange option.
- Click the Migration option, and go to select the New (+), and choose the option Onboarding.
- Select the first option of Remote Move among the option (the remaining option is Staged Migration, Cutover Migration, IMAP Migration, etc.
- Next step involves selecting the users to account by clicking the Add (+) and select the users.
- Input the hosted Exchange Administrator account. The username option should fulfill like this ‘domain name\Administrator.’
- Create the Migration Endpoint and then create the Migration batch with a new name.
- Input the destination domain and target credentials.
- Start the batch migration. After a successful migration, you can check the mailboxes are present at the on-premises Exchange Server mailboxes.
While running the Migration batch, if you want to have a deep knowledge about the migration status of a large sized batch, then you should go to Exchange Management shell and run some cmdlets to get the status.
- Get-MigrationBatch -Identity ‘BatchName’
The cmdlet will bring the complete details of the migration batch with the status of the mailboxes.
- Get-MigrationConfig -Partition
With the help of the cmdlet, you will be able to easily get the batch settings that you have configured for the batch.
Run the cmdlet with the suitable parameters like Diagnostic, DiagnosticInfo, DomainController, Partition, and you will get the required details and the health of the ongoing batch migration quickly.
- Get-MigrationUser -Identity ‘User-name’
Run the command to get the migration status of the given user. It will show whether the user was migrated in the batch migration or not.
- Get-MigrationUserStatistics – Identity ‘User-Name’
To get the deep understanding of the migration user data, you should run the command along with other parameters and get the result.
The simple cmdlet will bring the various details of the migration batch like total number of mailboxes being migrated, number of successfully completed migration, migration error, status of migration batch, date and time of the migration and when it was completed.
The manual process requires a vast number of changes in both the source and destination ends, and then one has to manually start the migration batch at the Exchange Admin Center. You can also conduct a batch migration of Exchange mailboxes using a CSV file. It will require significant time to complete and a single error or mistake can washout the whole migration effort. It can also further corrupt the data, so if you do not want to face any unkind situation, use a trusted third-party Exchange Migration application from a professional vendor.
Kernel Migrator for Exchange
Kernel Migrator for Exchange is a special migration software which help to easily migrate Hosted Exchange mailboxes to Office 365. It also provides a clean migration report consisting status of each mailbox.