Public folders are one solution to provide a team collaboration tool for companies. Legacy public folders utilized a proprietary multi-master replication mechanism which was not planned to handle today's data volumes. Therefore, Exchange 2013 introduced modern public folders which utilize the robust DAG replication functionality. Due to the technology change between legacy public folders and modern public folders a migration is required.
You can migrate legacy public folders hosted on Exchange 2007 or Exchange 2010 to modern public folders hosted on Exchange 2013. Or you can migrate legacy public folders hosted on Exchange 2010 to modern public folders hosted on Exchange 2016. If a cloud migration is a viable option for your company, you are able to migrate legacy public folders hosted on Exchange 2007 or Exchange 2010 to modern public folders hosted in Exchange Online.
The requirements for legacy Exchange Servers are:
- Exchange Server 2007 SP3 with Update Rollup 15 or later
- Exchange Server 2010 SP3 with Update Rollup 8 or later
- Windows Server hosting Exchange Server 2007 must be upgraded to Windows PowerShell 2.0 and WinRM 2.0 for Windows Server 2008 x64
Since Exchange Server 2013 RTM the public folder migration scripts and the migration guidance have quite often been updated. The information provided at TechNet is very detailed for each migration option and there is no need to repeat each step in this blog post. Please see the link section for all hyperlinks.
Preparing a legacy public folder migration is pretty straight forward. The main issue companies are facing is the required downtime for finalizing the public folder migration batch. The required downtime cannot be determined exactly (not as exactly as requested by upper management). This means that you have to plan for scheduled maintenance during off-hours. In the past, a single migration request has been used to migrate legacy public folders. The new batch approach migrates public folder content using multiple requests within a single batch.
Estimated Number Of Concurrent Users
The Create-PublicFolderMailboxesForMigration.ps1 script uses the parameter EstimatedNumberOfConcurrentUsers to determine the overall number of public folder mailboxes serving the hierarchy. The TechNet articles explain this parameter as follows:
The estimated number of simultaneous user connections browsing a public folder hierarchy is usually less than the total number of users in an organization.
Exchange Server 2013 and Exchange Server 2016 currently support 2.000 concurrent connections to a single mailbox. This limit (2.000) is used by the Create-PublicFolderMailboxesForMigration.ps1 in conjunction with EstimatedNumberOfConcurrentUsers to determine the number of public folder mailboxes required to serve the public folder hierarchy. The current version of the script uses a coded limit of max 100 public folder mailboxes. This means that you can only serve 100 x 2.000 = 200.000 concurrent users accessing the public folder hierarchy.
Legacy Public Folder Store
Finalizing the migration request and setting the PublicFolderMigrationComplete attribute requires the legacy public folder information store to be restarted. Otherwise, the configuration change will not be picked up in the information store in a timely fashion. Remember to restart the information store service on all legacy public folder servers.
If your current public folder infrastructure is based on Exchange 2007 and you want to get rid of that Exchange version, you might think of replicating all content to Exchange 2010. This is not the best approach. Due to known content conversion issues, you might encounter data loss when replicating public folder content between Exchange 2007 and Exchange 2010.
The recommended approach is to migrate Exchange 2007 legacy public folders to Exchange 2013 modern public folders directly.
A recommended reading on legacy public folder migration from Exchange 2010 to Exchange 2016 is Butch Waller’s blog post “Migration to Modern Public Folders – Notes from the Field”
The PowerShell script referenced in that blog post does not work with Exchange 2007. You can use my PowerShell script which utilizes UTF8 encoding and runs with Exchange 2007 and Exchange 2010: https://gallery.technet.microsoft.com/Exchange-2010-Public-315ea9aa
All limits mentioned in this post reflect the information available at the time of writing.
- Limits for modern public folders – Exchange Server 2013, https://technet.microsoft.com/en-us/library/dn594582(v=exchg.150).aspx
- Limits for modern public folders – Exchange Server 2016, https://technet.microsoft.com/en-us/library/dn594582(v=exchg.160).aspx
- Limits for modern public folders – Exchange Online, https://technet.microsoft.com/library/exchange-online-limits(EXCHG.150).aspx
- Use batch migration to migrate public folders to Exchange 2013 from previous versions, https://technet.microsoft.com/EN-US/library/dn912663(v=exchg.150).aspx
- Use batch migration to migrate public folders to Exchange 2016 from previous versions, https://technet.microsoft.com/en-us/library/dn912663(v=exchg.160).aspx
- Use batch migration to migrate legacy public folders to Office 365 and Exchange Online, https://technet.microsoft.com/en-us/library/dn874017(v=exchg.150).aspx
- Legacy public folder migration PowerShell scripts, http://go.microsoft.com/fwlink/?LinkId=299838
Do you need assistance with your Exchange Server setup? You have questions about your Exchange Server infrastructure and going hybrid with Office 365? Contact us at firstname.lastname@example.org or visit our website https://www.granikos.eu.