skip to Main Content

Complete migration batch with PowerShell

How to complete a migration batch with PowerShell in Exchange Online manually? You created new batches and the mailboxes are in sync between Exchange On-premises and Exchange Online. To finish the migration, you need to complete the batches. After that, the destination of the mailbox is in Exchange Online. In this article, you will learn how to complete a migration batch in Office 365 with PowerShell.

What if you want to complete an individual mailbox from the migration batch? Read more in our article complete individual mailbox move request from migration batch

Get migration batch

Run and connect to Exchange Online PowerShell. Run the cmdlet Get-MigrationBatch to get the migration batches. There are two migration batches created. Both batches are in sync between the Exchange organizations (On-premises and Online).

Complete migration batch

Run the cmdlet Complete-MigrationBatch to complete the migration batch in Office 365.

A message will show if you are sure, click Yes to All.

Complete migration batch with PowerShell confirm

Do you get a bad encountered confirmation prompt? Read the article complete mailbox migration with bad items.

If you don’t want to show the confirmation prompt and immediately start completing the migration batch, add –Confirm:$False switch at the end of the cmdlet. It will look like the following.

Verify batch move request

Run the Get-MoveRequest cmdlet to check the mailbox move request status of the batch.

If you have configured your email when creating the batches, you will get an email when it’s completed. If you didn’t do that or you like to keep track with PowerShell, keep running the cmdlet. In the end it needs to show PercentComplete: 100% for all the mailboxes.

Run Get-MigrationBatch cmdlet to verify if the batch is completed.

The migration batch is completed successful to Exchange Online.


In this article, you learned how to complete the migration batch manually with PowerShell. Run Exchange Online PowerShell to manage the Exchange Online settings from the command line. Get the batch names, after that complete the mailbox migration batch.

Did you enjoy this article? You may also like Restart remote computer with PowerShell. Don’t forget to follow us and share this article.



ALI TAJRAN is a passionate IT Architect, IT Consultant, and Microsoft Certified Trainer. He started Information Technology at a very young age, and his goal is to teach and inspire others. Read more »

This Post Has 0 Comments

Leave a Reply

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

Back To Top