Migrating public folders from an older Exchange Server (such as 2007) to a newer version (like 2013 or beyond) can be complex and time-consuming. This guide walks you through the native Microsoft process using PowerShell scripts, and also introduces a faster, more efficient alternative using Stellar Migrator for Exchange.
Migrating mailboxes from old Exchange Server to a newer Exchange Server is a tedious operation. It can be a real struggle if you’re migrating public folders from old Exchange Server to a newer Exchange Server. In Office 365, public folders are not used much as SharePoint and Groups are mostly used. In on-premises Exchange Server, public folders are used to hold information and other data. So, Exchange server public folder migration is crucial for certain custom apps and business processes. The other reason is that on-premises SharePoint deployment can be quite costly for small businesses.
Table of Contents
ToggleProcedure to Migrate Public Folders from one Exchange Server to another
There is an option to export public folders by using Outlook. However, it is not recommended as large PST files are not supported by Outlook and you need to somehow split the data. There is no continuity if the process is stopped or cancelled. It is a cumbersome process and would take a lot of time to complete.
To start public folder migration, there are some requirements and assumptions that need to be taken into consideration. These are:
- The user who will be used for the migration has the roles of Organization Management and Recipient Management.
- Removed spaces and special characters from names and aliases of the public folders prior to migration.
- Expect downtime for the last steps of the migration.
Pre-Migration Steps for Public Folder Migration
Native Migration Method
Important Note: Before you start the migration, take an ad-hoc backup so that you can failback in case something goes wrong during the migration.
Step 1: Download Microsoft Scripts
- You need to download the Public Folders Migration Scripts from the Microsoft Download site using the link: https://www.microsoft.com/en-us/download/details.aspx?id=38407.
- Save them in your Exchange Server.
- Usually, I like to create a folder for scripts under the operating system drive and save all my scripts there. It is up to you where you want to save them.
- Once you are ready, you can start off by preparing the migration.
Step 2: Export Folder Structure (Source Server)
- From the Exchange Management Shell, run the following command to export the list of existing and non-existing folders so that these can be mapped to the Exchange 2013 Server.
Get-PublicFolder -Recurse | Export-CliXML C:\Scripts\structure.xml
- This will be used during migration and for comparison post-migration.
Step 3: Verify Migration Lock State
- Now you need to check and make sure that the public folders are not locked or in a migration by using the below command.
Get-OrganizationConfig | Format-List PublicFoldersLockedforMigration, PublicFolderMigrationComplete
- If the command shows any as ‘True’, you need to use the same command but with the Set-OrganizationConfig to set them as False (as given below).
Set-OrganizationConfig -PublicFoldersLockedforMigration $false -PublicFolderMigrationComplete $false
This will confirm the public folders and their state on the Source Exchange Server.
Step 4: Prepare the Destination Server
You need to perform the similar process. Before proceeding, you need to make sure that there are no migrations in progress as this would create an issue.
- The below command will show if there are any pending public folder migration requests.
Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics -IncludeReport | Format-List
- If there are any, the below command will remove any pending requests.
Get-PublicFolderMigrationRequest | Remove-PublicFolderMigrationRequest
Step 5: Export Folder Statistics
To start the migration, you need to export the folder statistics from your Exchange Server using the Export-PublicFolderStatistics.ps1, which will generate the CSV file.
Step 6: Generate Mailbox Mapping
Run the script PublicFolderToMailboxMapGenerator.ps1 using the exported CSV.
The MailboxSize (in bytes) is the maximum size you want to set for the new public folders on destination Exchange Server.
Step 7: Create Destination Public Folder Mailboxes
The Create-PublicFolderMailboxesForMigration.ps1 will create the destination public folders on the Exchange Server, according to the files exported from the Source Exchange Server.
Step 8: Create and Start Migration Batch
- To start the migration process, you need to create the migration batch by using the following command:
New-MigrationBatch -Name <Name of migration> -SourcePublicFolderDatabase (Get-PublicFolderDatabase -Server <DestinationServer>) -CSVData (Get-Content <MapGeneratedFile> -Encoding Byte)
- Once this is created, you can start the migration by using the command below:
Start-MigrationBatch <Name of migration batch>
Step 9: Finalize Migration
Once the migration is complete and the public folders are marked as ‘Synced’ in the migration section in the Destination Exchange Server Admin Center, you can lock the public folders on your Source Exchange server by using the below commands. This is to make sure that no changes are done by the users.
Set-OrganizationConfig -PublicFoldersLockedForMigration:$true
Set-OrganizationConfig -PublicFolderMigrationComplete:$true
The final step in the migration process is to run the below command on the Destination Exchange Server.
Set-OrganizationConfig -PublicFoldersEnabled Remote
Faster Alternative: Stellar Migrator for Exchange
While the native method works, it’s script-heavy, time-consuming, and requires clean server states at both ends. Stellar Migrator for Exchange simplifies public folder migration with:
-No scripting
-Automated mailbox/public folder mapping
-Direct migration from Exchange to Exchange or Exchange to Office 365
-Zero-downtime during transition
-Preview, selective migration, and faster throughput
Conclusion
Migrating public folders natively from one Exchange server to another involves many steps, dependencies, and potential pitfalls—especially when dealing with large folder structures or missing data. If you’re looking for a faster, more reliable, and admin-friendly solution, consider using Stellar Migrator for Exchange. It drastically reduces complexity while ensuring data integrity and continuity.
Also Read: Vacation Policies and Employee Satisfaction
How to Migrate Public Folders from one Exchange Server to another?
Shashi Teja
Related posts
Hot Topics
How to Migrate Public Folders from one Exchange Server to another?
Migrating public folders from an older Exchange Server (such as 2007) to a newer version (like 2013 or beyond) can…
Drug Testing Services for First Responders: A Critical Requirement
In the world of first responders, where every second counts, the margin for error is razor-thin. As you delve into…