Public Folder Migration to Exchange Online (500k Folders) Part 11 — Post-Migration Issues (Add/Remove Permissions)
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)
Part 12 — Decommissioning on-premises Public Folders
Part 13 — Troubleshooting Hierarchy Issues
I thought I’d post this to help those who are struggling with Microsoft throttling and endless re-authentication prompts when trying to add/remove Public Folder permissions after you’ve migrated to Exchange Online Public Folders.
I’ve raised this with Microsoft, and while they have reduced their throttling limits for us, trying to assign permissions to vast number of folders always fails. Now… while Microsoft do provide a new script designed for Exchange 2013 and Exchange Online, found here, we certainly found we still got timeout issues and (in our case hierarchy issues where Mailbox1 kept going offline).
This is just one of the issues we were getting when trying to add a large number of permissions. This is all down to throttling, simply leave it and it’ll come back.
Now, getting the above error when you run the script is never going to go down well. Basically it’s broken and you have to start again, this is extremely frustrating…
So, I wrote the below script. It’s partly taken from Microsoft’s own, however I’ve amended it so it checks the PowerShell session to see if it becomes broken if it does it’ll drop and reconnect it.
It also checks against the known errors that I’ve come across. If detected, it’ll pause the script for a set time before dropping and reconnect to ExO.
From having regular timeouts or issues, I’ve now been able to run this script for days (until my machine runs out of memory).