With the release of every MS Exchange server, Public folder became an important feature for discussion. Although, it was stated that Public Folder would disappear but these folders are still used in customer’s environment. In the scenario of public folder migration from Exchange 2007/10 to 2013, a way has to be initiated to provide these Public Folders to the clients at end of migration.
The design of Public Folders in Exchange 2013 has been changed from Databases to Public Folder Mailboxes. Due to this, Public Folders have become high available within DAG, this also involves changes in migration process. In the following section, we will discuss the steps taken to accomplish Public Folder migration.
Method to Perform Public Folder Migration from Exchange 2007/10 to 2013
Various steps are involved to perform the migration of PFs across Exchange 2013 as discussed below.
- Run the following three commands on Exchange Server 2010 as shown below.
Note: Use NotTypeInformation to remove automatically the first row with the information, which Export-CSVcmdlet put on CSV files by default.
- On Exchange Server 2010, user should make sure that there is no record of any previous PF migration. If there is, any then, set the value to False as it is set to True then, the migration request will fail.
- If the PublicFoldersMigration is set as True then, run the mentioned cmdlet to set it as False:
In such a situation user needs to wait for a while as Exchange detect new settings that takes several minutes. To speed up the procedure, user can restart MS Exchange Information Store Service. Now, users can run to Exchange 2013, here users need to check that there should not be any PF migration request as well. It is required if there are requests existing then, run the following commands as mentioned to remove it.
- If there will no PFs on exchange 2013 server then, these will be created automatically as part of migration procedure. Run the mentioned command sure that there is no PFs and mailboxes of PF on 2013.
Map Public Folders
This process can be skipped if user can go directly to create CSV files manually that informs Exchange which PF mailbox is to be used for each PF.
- Create CSV file that maps PF name-to-folder size. This file will contain two columns FolderName and FolderSize and will be utilized later so as to check how many PF mailboxes to utilize so that each one will be under specified under size limit. Copy the files from Exchange Server 2013 to Exchange Server 2010. After that run the script from Exchange Server 2010 to generate mapping file.
- Once completed, then CSV file will list all PFs and its corresponding size in bytes. Now run the script on Exchange server 2013 to create PF folder-to-mailbox mapping file depending upon the CSV that is just generated. The new CSV is utilized for creating accurate number of PF mailboxes on Exchange 2013.
- If the user has defined some specific size of PF and the PF left some space due to less in size then, the script will come out as a single PF mailbox.
Note: The CSV file is used to determine the mapping between destination mailbox and source hierarchy. It contains only the top-level folders as the child folders under top-level folders are automatically moved. If any new child folder is added then, it will migrate during the process time. If any top-leveled procedure is created then, it will be created in the mailbox that has writable copy of hierarchy.
Create Mailboxes of Public Folder
In this process, user will create the required PF mailboxes to hold all PFs from migration. User will create PF mailbox for all names that are mentioned on the TargetMailbox field of mapping file else, Exchange will copy PFs to PF mailbox, which does not exist. The first created PF will be the master hierarchy mailbox. Only this is created in the HoldForMigration mode. User can also create PF that excludes from serving hierarchy so that emails are not delivered at this phase and prevents from usage.
- User can start migrating Public Folder (PR) content from Exchange 2007 to 2013 by using New-PublicFolderMigrationRequest cmdlet and PFmapFolderToMailbox2.csv file that is produced earlier, Exchange will create the essential PFs and start migrating the data across
- Run the mentioned command from Exchange 2013 Mailbox server to create PF migration request. If the user is having the name of PF database, then use SourceDatabase [PF DB Name]
- User can verify if the migration has started successfully by using Get-PublicFolderMigrationRequest and Get-PublicFolderMigrationRequestStatistics cmdlets. Once the details of status reach a status of InProgress or CopyingMessages, it clears that cmdlet has started properly and all the data is copied across Exchange 2013 as shown below. The time taken by taken in migration will depend upon the amount of data that user is copying and location of source and target server.
- User can get the detailed report:
From this report, user can follow each single step to perform public folder migration procedure from Exchange Mailbox Replication service for examining the request for migration to connecting both target and source databases, to creating hierarchy of PF, to creating all PFs in Exchange 2013.
- Once the status of migration reaches a status of AutoSuspended, then user can proceed further.
- Until users are able to utilize PFs on exchange 2010 servers that includes at the initial migration. If users check for connection status of Outlook users, it is noticed that Outlook is connected with both Public Folder of Exchange 2010 and 2013.
Note: During the process, users will not be able to utilize their PFs.
- Now from the Exchange Server 2007, user can run the mentioned cmdlet that will lock the users from utilizing down level PF servers. If there are multiple PF databases present in the environment then, they need to wait until replication of PF is completed. To confirm this, user needs to pick up Public Folder databases from PublicFoldersLockedForMigration flag. To avoid this waiting time, user can restart MS Exchange information store service.
- Once the command is run, it will be unable for users to utilize any PF.
Note: The amount of downtime that is taken depends on how much the new content was generated until migration reached the AutoSuspended state.
- In a way to complete the migration procedure, users need to set the PublicFolderMigrationComplete property to True as it is shown in the image. It might be quite misleading, as the migration is not completed with this cmdlet. On the Exchange 2013 server, set PublicFolderMigrationComplete property to True manually.
- However, in a way to complete the migration user still needs to remove PreventCompletion flag from the Public Folder migration request and then continue it.
- Once it is completed, after initial synchronization Exchange will easily synchronize the last changes that are made to PFs in Exchange 2010 but before users are locked out. It allows users to import any non-top PFs that are created as the original migration request has taken place. At this point, the source PFs are still locked and are inaccessible for users because it was set as the PublicFoldersLockedForMigration flag to True. This lock will remain in the place that helps to prevent users from utilizing source PFs after completion of public folder migration. This lock can be removed, as it is not recommended, as any changes will not synchronize to Exchange 2013. Even the migration procedure can be tracked by using the same cmdlet.
Now, user can see that the migration is not completed yet as Public Folder mailboxes are locked because of the IsexcludedFromServingHierarchy parameter used while creating it. There will a “Relinquishing job because mailbox is locked” warning will be displayed if user looks at migration report.
- At this point, user will check if the migration is successful or not until the point and before enabling Public Folders for all users. For this, users first need to unlock at least one PF mailbox as shown.
- Now, select one of the PF and set it as default mailbox. It can be done by running a command that helps to assign specific mailbox to user’s mailbox. It will be automatically used by PF mailbox by selecting an algorithm, which load-balances users across all PF mailboxes. Once after doing it users will be able to utilize PF, located on Exchange 2013.
Get-Mailbox abcdef | Select DefaultPublicFolderMailbox
Where abcdef is the name of mailbox.
- Once we confirm everything it will work in same manner and can unlock all PFs.
- Now the public folder migration is completed as shown.
Though everything seems fine, but still user can verify the public folder migration from Exchange 2010 to 2013 was successful or not by comparing the snapshots that took place in the beginning of whole procedure. As such, follow the instructions in the Prepare for Migration section but this time the PFs are present in the new Exchange 2013 environment.
Remove PF Database from Exchange Server 2010
After completing the procedure and verifying the PFs working on Exchange 2013, the final step is to remove PF database from Exchange server 2010. This is a well-documented procedure and no reason to repeat it here.
Instant Solution: The Exchange Server Recovery software provided by SysTools is the professional tool used by Exchange users, IT admin and Naive users to migrate public folder in batch from one server to another without any data loss.
In the above discussion, the proper procedure is discussed to perform public folder migration from Exchange 2007/10 to 2013. According to experts, it is quite useful for users to follow the systematic process to avoid data loss.
I have described each and every process is in detail and the command execution image is also displayed according to steps of public folder migration processes.