Public Folder Migration to Exchange Online (500k Folders) Part 4 — Monitoring and Fixing the Sync (1/3)
Quick Jump Guide
Part 1 — Preparing for Migration (1/2)
Part 2 — Preparing for Migration (2/2)
Part 3 — Starting the Migration Request
Part 4 — Monitoring and Fixing the Sync (1/3)
Part 5 — Monitoring and Fixing the Sync (2/3)
Part 6 — Monitoring and Fixing the Sync (3/3)
Part 7 — Completing the Batch
Part 8 — Testing & Unlocking Public Folders
Part 9 — Post-Migration Issues (Hierarchy Update)
Part 10 — Post-Migration Issues (Access Denied Deleting)
Part 11 — Post-Migration Issues (Add/Remove Permissions)
By now you have run Start-MigrationBatch PublicFolderMigration, and your sync has begun. Depending on how many mailboxes you have it may take a while before you see anything actually happening, especially for logs to be created.
Step 10 — Monitoring your Migration
You can monitor your sync progress a number of way, although PowerShell is by far the easiest and more visual.
There are four commands that you will need to become familiar:
Get-MigrationBatch | Set-MigrationBatch
This one you’ll need to use to set your Bad Item and Large Item counts on the migration batch. This one is often overlooked, as you set it on the mailbox jobs as well. Under Step 11 below, I will explain how to set the Bad Item and Large Item counter.
As your migration progresses you will find yourself checking the Migration tab within Exchange Online (https://outlook.office365.com/ecp). You will see that the number of Synced | Failed mailboxes will not tally with what the Get-PublicFolderMailboxMigrationRequest shows.
Microsoft say they will tally up, however in my experience this is not the case and especially if you’ve had issues getting them in sync, you may find yourself Stopping, the Resuming the batch through the Exchange Online GUI.
This is by far the most relevant command you will be using.
The command I used daily for months is below (I got sick and tired of scrolling across and changing $M, so this is just quicker)
Some other worth while knowing commands, but you’ll get to know them yourself as you go through this process…
You will use this command a lot, especially when you begin to get migration jobs fail or get stuck due to one of many errors you will receive. These errors are almost always down to Microsoft throttling or network issues. Just keep resuming the jobs and eventually they will carry on
Step 11 — Setting the Bad Item and Large Item Limits
Settings these limits is optional, however if you have a large Public Folder estate then it’s almost certain you will have to do these. The values you set are completely up to you. I set the Bad Item count to 5000 and the Large Item count to 100. After our clean-up in Part 1 and Part 2 (and three sync attempts), I only had 3 large items that failed.
One very important item to take away here, is that you can only set the Bad Item and Large Item count AFTER you’ve started the migration and AFTER the sync for that mailbox has started (which really really bugs me!).
It bugs me because these values don’t take effect until after you restart the batch. Effectively meaning you have to start the batch, let it begin syncing all mailboxes, then stop it before resuming it again to pick up these changes (I mean why Microsoft, just why??)
Ok, let’s set the counters…
The Migration Mailboxes
You have a number of ways to do this, either across all mailboxes at once or targeting each mailbox as and when you need to do it. Each option has it’s positives and negatives. Running the commands across all of them, it’s easier and quicker however you have have to wait until all mailboxes start to sync and that could be long time, and maybe you’ll have some failures before that happens.
The command is below, however one item to take note of is when you run this command, the syncing of that mailbox will stop. It can take hours for it to resume again.
Or you can you chose to run the commands on specific mailboxes…
The Migration Batch
This often gets overlooked but you must set the same Bad Items and Large Items values on the migration batch, otherwise when you come to complete the migration, it’ll fail…