Recently, a number of my clients have been moving Legacy Public Folders to Exchange Online via their Exchange 2010 Hybrid solution and have hit an issue with the corruptfolderACL preventing the final synchronisation and subsequent cut over to Exchange Online.

The issue here is the orphaned SIDs on the public Folder ACLs causing the corrupt items or BadItems (as is known on the migration) to exceed the threshold set on the migration. No matter what this is increased to the migration still fails.

To resolve this, we need to remove the orphaned SIDs from the Exchange 2010 to allow the migration to proceed and finally cut over to Exchange Online.

Manually removing these could take an organisation a large amount of time and resources. Thankfully there is a script which can identify the orphaned SIDs and remove them from the Exchange 2010 Public Folders. The script can be found here.

The steps I took to resolve these are below:

  1. Identify the orphaned SIDs using the .\Check-UnresolvedSIDs.ps1 -Server <Exchange Server name hosting the Public Folders> cmdlet
  2. Remove the orphaned SIDs using the .\Check-UnresolvedSIDs.ps1 -Server <Exchange Server name hosting the Public Folders> -Remove $true cmdlet

Once the script had finished processing, we resumed the migration batch and cut over the Public Folders to Exchange Online.

Note this can also occur when moving the Exchange 2010 Legacy Public Folders to Exchange 2016 Modern Public Folders.