After moving all mailboxes from Exchange Server 2010 to 2013 we can turn our attention to the public folder migration.
Although Exchange Server 2013 provides support for public folders with the new modern public folders, you may wish to take this opportunity to review whether your organization needs to retain public folders at all. If they are no longer needed then removing them entirely from the Exchange organization would be simpler. However if that decision can’t be made, or they are still required for some reason, then a migration to Exchange 2013 can be performed.
Initially Microsoft provided a public folder migration method known as serial migration. Serial migration of public folders to Exchange 2013 has since been deprecated and will not be supported by Microsoft. The current method for migrating public folders to Exchange 2013 is a batch migration. You can migrate up to 500,000 public folders to Exchange 2013 with this method.
At a high level the process involves:
Downloading the migration scripts
Preparing for the migration
Generating the CSV files
Creating the public folder mailboxes in Exchange 2013
Starting the migration
Lock the public folders for final migration (which requires some downtime)
Finalize the migration (downtime still required)
Test and unlock the public folder migration
Of course the reality is that there are many caveats and ways for a public folder migration to go wrong. Generally speaking you should always refer to the TechNet article as it will document the latest requirements and limitations for a public folder migration. However you can also refer to the following resources for some additional real-world advice:
Here is an example migration for the Exchange Server Pro organization, to show you what the end to end process looks like.
DOWNLOAD SCRIPTS AND PREPARE ORGANIZATION
The public folder migration scripts have been downloaded and saved to a server that has the Exchange 2010 management tools installed.
A snapshot of the existing public folder structure, statistics, and permissions is taken. These commands are run from the Exchange 2010 management shell.
Any public folders that have a backslash in the name need to be renamed to remove the backslash. To identity those folders run the following command in the Exchange 2010 management shell.
In the Exchange 2013 management shell run the following commands to verify that there are no existing public folder migration requests, and no existing modern public folders.
GENERATE CSV FILES AND CREATE PUBLIC FOLDER MAILBOXES
With the preparation completed we can now generate the CSV files that will be used to create the new public folder mailboxes on Exchange 2013. Run the following command in the Exchange 2010 management shell. Replace the server name HO-EX2010-PF with the name of one of your public folder servers.
[10/7/2015 2:55:24 PM] Enumerating folders under NON_IPM_SUBTREE...
[10/7/2015 2:55:25 PM] Enumerating folders under NON_IPM_SUBTREE completed...6 folders found.
[10/7/2015 2:55:25 PM] Retrieving statistics from server EX2010SRV1
[10/7/2015 2:55:25 PM] Retrieving statistics from server EX2010SRV1 complete...14 folders found.
[10/7/2015 2:55:25 PM] Total unique folders found : 14.
[10/7/2015 2:55:25 PM] Exporting statistics for 14 folders
[10/7/2015 2:55:25 PM] Exporting folders to a CSV file
Review the folder sizes in the CSV file and make a decision for how big each public folder mailbox will be. This will determine the number of public folder mailboxes created to store all of the public folder data in Exchange 2013. For example, if you have 20Gb of public folder data, and choose a maximum mailbox size of 1Gb, you will end up with 20 public folder mailboxes.
The Exchange Server Pro organization has very little public folder data, so a maximum size of 10Gb will result in a single public folder mailbox.
[PS] C:\PFMigration>.\PublicFolderToMailboxMapGenerator.ps1 10000000 C:\PFMigration\PFSizeMap.csv C:\PFMigration\PFMailboxMap.csv
[10/7/2015 2:56:35 PM] Reading public folder list...
[10/7/2015 2:56:35 PM] Loading folder hierarchy...
[10/7/2015 2:56:35 PM] Allocating folders to mailboxes...
[10/7/2015 2:56:35 PM] Trying to accomodate folders with their parent...
[10/7/2015 2:56:35 PM] Exporting folder mapping...
On an Exchange 2013 server create a public folder mailbox to be the master hierarchy mailbox.
Name Alias ServerName ProhibitSendQuota
---- ----- ---------- -----------------
Mailbox1 Mailbox1 ex2013srv1 Unlimited
Run the following command to create the additional public folder mailboxes to host the public folder content. The number of mailboxes is determined by the PF mailbox map generated in the previous step. In the case of the Exchange Server Pro organization only one mailbox is required, so this step is not necessary. But in your scenario set the number of mailboxes to match the number calculated in the PFMailboxMap.csv.
Name Alias ServerName ProhibitSendQuota
---- ----- ---------- -----------------
Mailbox2 Mailbox2 ex2013srv1 Unlimited
Mailbox3 Mailbox3 ex2013srv1 Unlimited
MIGRATING THE PUBLIC FOLDERS
With the new mailboxes created in Exchange 2013 we can proceed with the migration. The steps below are for migrating public folders from Exchange Server 2010 to Exchange Server 2013.
Note that you need the CSV file containing the PF mailbox map generated earlier, so copy that to a server with the Exchange 2013 management tools where you are running this command.
Identity Batch Status LastSyncTime
-------- ----- ------ ------------
Mailbox1 PFMigration Synced 10/8/2015 9:26:20 AM
When the Synced state has been reached the legacy public folders can be locked for the final migration. This requires downtime, the length of which depends on how much new content has been generated in public folders since the Synced state was reached and will still need to be migrated. Users will not be able to access public folders, and any email sent to mail-enabled public folders will be queued.
In the Exchange 2010 management shell run the following command to lock the public folders. In an organization with multiple public folder databases it may take several hours for all public folders in the organization to receive this change via replication.
If you see an error that public folders need to be locked down first it’s likely that the lock down flag has not been picked up by the legacy public folder database yet, and you will need to wait a little longer.
Wait for the migration batch to reach a state of Complete. Again this can take what seems like a long time, even in a small organization with very little public folder data.
With the test successful the following command is run from an Exchange 2013 server or management shell.
[PS] C:\>Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy $false
Next, the organization config is updated to indicate that the migration of public folders is complete. This command is run from the Exchange 2010 management shell.
And finally, the following command is run from the Exchange 2013 management shell.
Set-OrganizationConfig -PublicFoldersEnabled Local
During the final migration phase when public folders were locked, regular users were unable to access the public folders in Outlook. After the migration completion flag is set above, and the users restart Outlook, they should be able to access public folders again. Any new items created by the test user should be visible as well.
In the next part of this article series we’ll look at decommissioning the legacy Exchange servers from the organization.