Migrating on-premises Exchange Public Folders to Office 365


MS Exchange Online is not that different from Exchange Server 2013 installed on the local machine. It runs PowerShell commands, provides configurable transport rules, allows administration via web interface etc. It also sports Public Folders.

That is why the migration process of the legacy Public Folders (e.g. from MS Exchange 2010) to on-premises Exchange and Exchange Online is quite similar. Unfortunately, this similarity means the process involves manual fiddling with PowerShell scripts, which can be a pain, when it comes to larger and more complicated Public Folders structures.

In a nutshell an Administrator needs to perform the following:

  • On the local Exchange Server locate any folder larger than 19 GB and reduce its size/split/exclude from the migration.
  • If the PF structure contains more than 100 folders reduce their number. Exchange Online allows 50 folders to be migrated, with an automatic extension of the limit to 100. Beyond that line, contact with MS support is required.
  • First migrate all user mailboxes then Public Folders.
  • Enable Outlook Anywhere on the source server.
  • Run a PowerShell script to snapshot the current folder structure. This serves as verification after the migration is complete.
  • Create mapping files in CSV format that contain folder name-to-size and folder-to-mailbox entries.
  • Log on to Exchange Online and create Public Folders mailboxes. Admins can also do this with a PowerShell script in remote session mode.
  • Migrate Public Folders – this step takes about 11 PS scripts, executed in a specific order.
  • Lock down PF on the source server to finalize synchronization with Exchange Online. At this point, there is no access to Public Folders and a downtime is required until the sync is completed.
  • Test the correctness of the migration using one selected mailbox. This includes checking the hierarchy, permissions, the ability to create and delete folders, and the ability to create items in folders.
  • Unlock PF for the rest of the mailboxes.
  • Verify the process again – compare the folder structure snapshot from the source server with the similar snapshot taken on Exchange Online.
  • Lastly – removal of the PF databases from the source server.

Just like the migration of Public folders to Exchange 2013, the process is complicated and scripts heavy. Moreover, it requires connecting to Exchange Online using Remote PowerShell, which adds a couple of steps to the list.

But there is help available in the shape of the CodeTwo Office 365 Migration program. Its friendly and well-organized interface helps select a proper migration path and can cut PowerShell scripting to zero. If you’re curious about how the program works, this video may come in handy:

Suggested reading

CodeTwo Admin’s Blog: How to connect and remotely manage Office 365 with PowerShell
CodeTwo Admin’s Blog: Office 365 shared mailbox vs. public folders – what’s the difference?

Tools for Microsoft 365

2 thoughts on “Migrating on-premises Exchange Public Folders to Office 365

  1. Glad to hear Microsoft still support public folders in Exchange Online. We use them quite a lot. I wish the migration (together with permissions) was a bit easier though…

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


CodeTwo sp. z o.o. sp. k. is a controller of your personal data.
See our Privacy Policy to learn more.