Home » Exchange Server » Completing Individual Move Requests from a Migration Batch

Completing Individual Move Requests from a Migration Batch

Mark left a comment asking whether he could complete the mailbox moves for only specific mailboxes that were included in a very large migration batch.

Consider a scenario in which you create a migration batch, but some circumstance leads to you wanting to be more selective in which mailbox moves within that batch are completed, instead of initiating the completion for the entire batch.

Although the migration batch is a single object that you can manage, each mailbox move in that batch is still handled as an individual move request.

For example, here is a migration batch with five mailboxes included. I can see all five move requests when I run Get-MoveRequest.

When the migration batch reaches a suspended state (because I did not choose to automatically complete it), I can use Set-MoveRequest to set the SuspendWhenReadytoComplete flag on one of the move requests to $false, then resume only that move request.

The reason for setting SuspendWhenReadytoComplete to $false is to ensure that the move request does not auto-suspend again when you actually want it to complete.

That move request will complete, while the others remain suspended.

That can be repeated as many times as necessary to get the desired result. Or I can simply complete the entire migration batch.

The remaining move requests will then complete as expected.

Paul is a Microsoft MVP for Office Servers and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul is a co-author of Office 365 for IT Pros and several other books, and is also a Pluralsight author.
Category: Exchange Server


  1. Angus McLean says:

    I have some batch moves that failed from the beginning and never created the move request. Now that i have fixed that problem how can I re-run the batch so those mailboxes start to sync? Do I need to stop the entire job and then start it again? I’m afraid doing that will mean mailboxes that are synced will need to be synced again.

  2. Jonathan Kinnick says:

    I have a batch with one test account that is stuck with the status of Relinquished (“Completing” in the ecp) at 95%. Resuming does nothing, it says it can’t be stopped, I rebooted the Exchange 2013 (target) server too many times to count, I backed up and rebooted the Exchange 2010 (source) server, re-started various Exchange services here and there – nothing works. I can’t make it complete, and I can’t kill it. It’s a test account with a total of 3 e-mails – 1 sent, 2 received. Any ideas?

    • Byron White says:

      Has anyone resolved this issue? I’m also seeing a similar problem where I can’t stop or complete a migration batch with just a single mailbox. In this case, the mailbox already shows as being on the new database, but the migration batch is still showing completing after 24 hours.

  3. Erik says:

    Hi Paul,

    According to your article, you set the SuspendWhenReadytoComplete to false, to be able to resume and complete an individual moverequest: “When the migration batch reaches a suspended state (because I did not choose to automatically complete it), I can use Set-MoveRequest to set the SuspendWhenReadytoComplete flag on one of the move requests to $false, then resume only that move request.”

    But in my batch where the moverequests are currently autosuspended, the flag on SuspendWhenReadytoComplete is already set to false. Meaning I do not have to use the Set-MoveRequest command to set it to false, is this new in 2013 CU8?



  4. Byron White says:

    I have a situation where I’ve created a new migration batch with the procedure given here, and the mailboxes are moving, but there are no associated Move Requests. A Get-MoveRequest command returns *no* results at all.

    Am I missing something or has the New-MigrationBatch been changed in an updated version since this was written to *not* use a New-MoveRequest for each individual mailbox?

    • Erik says:

      Did you also start the batch? Depending on the options you chose, the migration batch need to be started manually. What are the results when you run “get-MigrationBatch” ?

      Sometime it also can take a while before the move-request actually are created/started, and thus they don’t show right away when you run “get-moverequest”. I have experienced the latter when the I/O performance was very bad on the storage.

    • Erik says:

      Today I encountered the same problem, but I was able to get the statistics anyway only with a completely different command. Maybe this command works for you as well:

      Get-MigrationUser | Get-MigrationUserStatistics

  5. Barry says:

    Hi Paul,

    How can i move a disconnected mailbox from Exchange 2010 to Exchange 2013 without connecting that mailbox again ? We are retaining disconnected mailboxes for 365 days, so there’s a lot of mailboxes that we don’t want to loose.

  6. Ward says:

    Hybrid deployment here… I created a migration batch containing 10 mailboxes and 8 of them were synced succesfully. The other 2 had a smtpproxy error, which I corrected. At that point I prolly had to restart the same batch but I didn’t. I created a new batch for those 2, which failed because the earlier batch still existed of which they were a member. I deleted the earlier batch and succesfully migrated the 2, but now I’ve lost all reference to the 8 people, I can not finalize their migration.

    Thanks for any pointers you could share..

  7. SMF says:

    Hi Paul,

    “When the migration batch reaches a suspended state”, what about if migration batch still in syncing state and one of the mailbox is synced rest are syncing, in this also we can resume one of the synced mailbox?


  8. Luis Reyes says:

    Hi Paul

    My Environmet is Exchange Server 2007 and Exchange Server 2013, I am migrating mailbox from 2007 to 2013, but, when I create a migration batch, some users are migrated but others are failed.

    I see the status about batch migration file and I see some mailbox has the status “Relinquished” or “Relinquished job”.

    I do not know why, but when I resume the batch migration file again, the process is very slowly and mailbox could not migrate and the status is the same.

    Could you help me why mailbox are getting the status “Relinquished” or “Relinquished job”???

    I hope you can help me

    best regards

    Luis Reyes

    • Luke Robertson says:

      I have found that a status of ‘relinquished’ can be a resource problem on either the source or destination mailbox servers. In my case, one mailbox server (a VM) did not have enough cores or memory (an oversight), and had SMSMSE installed, which was incorrectly inconfigured.
      When increasing resources, and configuring SMSMSE to use the correct number of threads (2 * cores + 1), the migration picked up again.

      You could try doing a “get-moverequest | get-moverequeststatistics | select message”. This may give you some additional ionformation

      Hope that helps

      • Luis Reyes says:

        Hi Luke Robertson

        Thanks for your help.

        I ran the next command prompt Get-MoveRequest -Identity “User” | Get-MoveRequestStatistics | FL, and show the next information on field Message:

        ” Message: Informational: The request has been temporarily postponed due to unfavorable server health or budget
        limitations. MRS will attempt to continue processing the request again after 4/5/2016 2:03:38 AM.
        Job is waiting for resource reservation. MRS will continue trying to pick up this request. Details:
        Resource reservation failed for ‘MDB_OPER04/MdbWrite’ (CiAgeOfLastNotification(MDB_OPER04)): load ratio
        1.79769313486232E+308, load state ‘Critical’, metric 32265. This resource is currently unhealthy. ”

        So, I look for some information about this issue on internet and it does not show any answer that I can help me. There are some solutions modify the file msexchangerepl.exe.config, but it does not recommended.

        I do not what I need to do, I have some days with this problem. My servers on Exchange 2010 and 2013 are fine, the status of databases are OK.

        You have anything more to review?

        best regards

        Luis Reyes

  9. vic says:

    I have manually stopped my migration. Have 2 companies and only 1 wanted to go to 365. How do I now delete the migration batch without affecting the users and data in 365 – they are all working well now and all the change sI need to do on the on Premises 2007 server (convert to Mail Enabled user) is done.

  10. Geezbill says:

    something must have changed. I created a batch in the GUI (suspend when complete) mailboxes are all “Synced” at 95%. In PS, i ran the command to SuspendWhenReadyToComplete:$false, the ran the Resume command. It just goes back to 95% “Synced”

    • Tommy says:

      I am in the same situation. Have you ever figured it out? Mine are all synced and when I ran the resume, it still says synced and if I go into the gui and look at the report, it shows that I changed the job and will resume but nothing.

  11. Ricardo says:

    I started a 2010 to O365 migration batch not to complete automatically. It was running long so I individually completed each mailbox. All completed except one that has been running for more than one day. I see this message for this mailbox “Relinquishing job because the database failed over to’BY2PR02MB076.namprd02.prod.outlook.com’. I stopped the batch and removed the mailbox from batch. Do I need to do anything with the batch since the rest are already completed? Also how do I migrate the mailbox that is not migrating? thanks

  12. Tommy says:

    Hey Paul,

    When I am looking for anything with Exchange, your posts always seem to pop up so in my book, you are a Rock Star however, this is not working for me. I am on Exchange 2010 in hybrid. Get-MoveRequest shows the members of the batch job as synced. When I pick one user and run the Resume-MailRequest, it flips to the next line as if it succeeded, but when I run Get-MoveRequest, it still shows as synced. In the GUI report, I can see the ‘resumed move request’ but at the end it says job has reached synced state. This job will be auto-resumed at 3/23/2017 5:29:00 PM. That’s tomorrow. Any ideas?

  13. Charbel says:

    It appears that you can only complete individual move requests for user mailboxes in a migration batch. I have tested the above command with shared mailboxes in a migration batch and it does not work. The mailbox will remain in a synced state.

  14. S. Goodwin says:

    I understand there are issues with permissions with users on premise and shared mailboxes in 365 (and vis versa). Can I run a migartion for all users and shared mailboxes at the same time with a “finalize manually” option, so that they are all in 365 when the finalization is run.
    OR can I run a migration with automatic finalization tick off (when does fianlization happen – as each mailbox finishes migartion or when all mailboxes in the batch finish migration)?

    Thanks in advance for any pointers

    • If you tell the batch to just finalize automatically then mailboxes will finish moving whenever they’re done. They won’t all finish at exactly the same time.

      This is the sort of thing you should test to make sure the behavior matches your expectations. Create some test mailboxes with a bit of data in them, run some test batches, observe the outcomes.

  15. daniel zigi says:

    can i proceed only one mailbox from the batch?
    if i have batch that have 5 mailbox and i want to proceed only with one mailbox
    there is command for this?

Leave a Reply

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