The Exchange 2016 migration project for Not Real University has reached the stage where they can begin their mailbox migration.

When planning a mailbox migration it’s useful to review how much data each mailbox actually stores. This is important to know so that you can plan your migration batch sizes in way that won’t overwhelm the destination server with too much transaction log generation from all of the database changes that will be occurring during the moves. You can use the Get-MailboxReport.ps1 script to generate mailbox size reports for your environment.


You can move mailboxes using either:

  • Individual move requests
  • Multiple move requests tagged with the same batch name
  • A migration batch of one or more mailboxes (which is not the same as tagging a bunch of move requests with a batch name)

If you perform the migrations using the Exchange Admin Center, you’ll be creating migration batches. If you choose to use the Exchange Management Shell instead, you can use any approach you like. The process for moving mailboxes has not changed between Exchange 2013 and 2016, so you can refer to this tutorial on moving Exchange Server mailboxes for more details.

Note that after completing a migration batch there are some factors that might cause a delay before the users can access their mailbox:

  • Active Directory replication delays
  • Autodiscover caching

Any Active Directory delays will need to be accounted for in your migration timing, and should be revealed during the first few migration batches you run. For the Autodiscover caching, you can recycle the Autodiscover app pool in IIS on all Exchange servers, or lower the automatic recycle interval during your migrations. In both cases, if you’re completing migration batches overnight when there are several hours before users will be logging back on, then it’s unlikely you’ll run into either problem.

When the mailboxes have been migrated to Exchange 2016, the public folder migration can be performed.

[adrotate banner=”51″]

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


  1. zeeshan

    how to migrate a disable mailbox from exg 2016 to exg 2019.

  2. MartianSpock

    Hello Paul,
    How can we filter mailbox databases having default quota usage set to 2GB and then sort the output based on the mailbox count they are having and pass the database name having least mailbox count.


  3. Aster

    Hello Paul,

    Where can i download your Get-MailboxReport.ps1?

    Thank you

  4. Dan Burchfield

    I was having issues with moving mailboxes in the middle of the day where Outlook would start prompting for a password or could not authenticate at all. Recycling the AutoDiscover app pool in IIS took care of it. Thanks.

  5. Paul

    What is the time frame it takes for say x number of mailbox that are 4 GB? How do I estimate the time frame it will take to move my mailboxes?

  6. Jason Weems

    I have a technical question about the process of how the MRS moves the mailboxes from one database to another. My question is when it moves the mailbox does it go through the transport service at all? I ask this because I want to know if I move a mailbox to another database will that mailbox move journal all of the messages in the mailbox?

  7. Henver Soares

    Paul Cunningham, great tutorial, congratulations!

    Paul, i need to migrate the Exchange 2010 system mailbox (SystemMailbox, FederatedEmail, DiscoverySearchMailbox) to Exchange 2016?

    1. Trev

      get-mailbox -server Server_Name -Arbitration

      get-mailbox -server Server_Name -Arbitration | New-MoveRequest -TargetDatabase DBNAME

      I appreciate that you may already have your answer, but putting this on here for someone who comes along for the answer to this question.

  8. Mohammed Arifuddin

    Hello Paul and Good People,

    I am migrating my Exchange 2010 Recipient Mailboxes to Exchange 2016 Mailbox Databases.

    Exchange 2010 has two members in DAG

    Mailbox Databases DB01 (800GB) and DB02 (900 GB) and logs folder (300GB) on each DAG member respectively.

    Exchange 2016

    Mailbox Databases MDB01 (1TB) and MDB02 (1TB) and Logs folder (300GB)

    I started the mailbox migration and has moved few mailboxes but i have noticed my logs folder in Exchange 2016 is getting full as migration job is running.

    What i understand while migrating mailboxes logs will be generated in the new exchange server 2016 mailbox database (logs folders)

    So in my case i am migrating around 1.7 TB databases so should i extend the logs volume in my exchange server 2016 to 1.7 TB or more, Lets make it 2 TB.

    Now my question when this logs (Generated while migrating the database to exchange 2016) will be deleted from the new exchange logs folder

    Appreciate your replies guys, thank you

  9. Mohammed Arifuddin

    Hi Paul,

    One more query !

    When we are migrating the mailboxes from 2010 to 2016, Logs folder on 2016 is growing in size.

    I would like to know whether the logs which are generated in the migration process will be deleted automatically once the mailboxes are moved to new database ?


  10. Mohammed Arifuddin

    Hi Paul,

    First of all thanks for the wonderful guidance on exchange migration.

    I have come to the stage of migrating my mailboxes and migrated few mailboxes all good as of now.

    In pluralsight migration course you have mentioned to check the Exchange server drives for space utilization ( C Drive, Logs etc ) while migrating the mailboxes

    I would like to know which directories we have to monitor in terms of C drive

    Appreciate your reply !


  11. Samy

    Thanks Paul, You are great
    I followed your every article for Migrating to Exchange and they are awesome. Thanks a million once again.

  12. Samy

    Thanks Paul, so you are saying that nothing is required to do with distribution groups ?

  13. Samy

    Hi Paul,
    We are almost finalising our migration from Exchange 2010 to 2016, I just to clarify what we supposed to with distribution groups before decomissioning Exchange 2010.

  14. Liam Wears

    Hi Paul, Great blog. I have a question regarding migrating from Exchange 2010 – Exchange 2016. Is there any SIS in Exchange 2016? a consultant told me there was so we could expect to see the mailbox databases decreasing in size. He advised us to build the databases on ReFS volumes which we have done. If no SIS is there any form of DeDup that is available to Exchange 2016?

  15. Kindovic

    As I’m currently migrating users from Ex2010 to Ex2016, I noticed that their Outlook will be disconnected. I need to restart the Autodiscover Application Pool on the Exchange Servers.

    What should be recommended settings to set the AppPool recycling interval in IIS?


    1. Avatar photo
      Paul Cunningham

      There’s a delay due to Autodiscover caching but the server will recycle that on its own (I think it’s every 30 minutes by default). So if you plan your migrations to complete overnight…

      …by the time the users launch Outlook again it should be fine. Otherwise just plan to manually cycle the Autodiscover app pool immediately after completing your moves.

Leave a Reply