When you’ve got a lot of mailbox move requests running during an Exchange migration, it’s useful to be able to pull a quick summary of how they’re all going. You can achieve this by piping the Get-MoveRequest cmdlet to the Group-Object cmdlet.

[PS] C:\>Get-MoveRequest | Group-Object -Property:Status | Select-Object Name,Count | Format-Table -Auto

Name                 Count
----                 -----
Queued                  36
InProgress               2
Completed              158
CompletedWithWarning     1

About the Author

Paul Cunningham

Paul is a former Microsoft MVP for Office Apps and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul no longer writes for Practical365.com.


  1. Meir

    whay at a time only 2 request InProgress ?

    —- —–
    Queued 36
    InProgress 2

  2. Barrey

    Super useful. I changed it a little bit:

    Get-MoveRequest -resultsize unlimited | Where-Object {$_.status -notlike “null”} | Get-MoveRequestStatistics | select DisplayName, StatusDetail, TotalMailboxSize, BytesTransferred, *Percent* | ft -auto

    1. John Mmasi

      Thank you so much Paul. Your online materials have been so helpful to me

  3. Rob

    Just Get all the status:

    Get-MoveRequest -resultsize unlimited | Where-Object {$_.status -notlike “null”} | Get-MoveRequ
    estStatistics | select DisplayName, StatusDetail, *Size, *Percent* | ft

  4. Les Davila

    Any way of getting actual connection statistics while the migrations are in progress?

  5. Martin Žákovic

    Get-MoveRequest -resultsize unlimited …
    to overcome default limit of 1000 requests

  6. Frank

    Thanks Paul this was helpful for me to find how to put more into a simple update during migrations. While it is true that you can simply use “Get-MoveRequest | Group-Object Status”

    I found that with stringing the Group Object with “Get-MoveRequestStatistics” can give you a little more in your report for instance I used this:

    “Get-MoveRequestStatistics -MoveRequestQueue “LgMailboxDatabase” | Group -Property:Status,PercentComplete | Select Name,Count | Format-Table -Auto”

    and it gives the below result which allows you to have a percent on your table then you can periodically just click up and enter and bam you can keep track of your progress and know how your particularly large mailboxes are doing.

    Name Count
    —- —–
    Queued, 0 197
    InProgress, 63 1
    InProgress, 62 1
    Completed, 100 2

  7. Brandon

    Why not just “Get-MoveRequest | group status” ?

Leave a Reply