Happy New Year!! Checkyourlogs fans, I am going to show you the final steps of public folder migration. let’s follow the steps and completed it.
- Login to Exchange 2010 Server.
- Open Exchange Management Shell as local administrator
-
Run the Export-PublicFolderStatistics.ps1 script to create the folder name-to-folder size mapping csv file.
.\Export-PublicFolderStatistics.ps1 C:\Post-Install\PFMigration\PFSizeMap.csv GDMEX01.gooddealmart.ca
-
Run the PublicFolderToMailboxMapGenerator.ps1 script to create the public folder-to-mailbox mapping file. This file is used to calculate the correct number of public folder mailboxes on the Exchange 2016 Mailbox server.
.\PublicFolderToMailboxMapGenerator.ps1 20000000000 C:\Post-Install\PFMigration\PFSizeMap.csv C:\Post-Install\PFMigration\PFMailboxMap.csv
Note:
Maximum mailbox size in bytes = 20000000000, the value 20000000000 is used to represent 20 GB
Folder to size map path = C:\Post-Install\PFMigration\PFSizeMap.csv
Folder to mailbox map path = C:\Post-Install\PFMigration\PFMailboxMap.csv
-
Open PFMailboxMap.csv file and change “Mailbox1” to “PFMailbox1” and then save.
- Copy C:\Post-Install\pfscripts and C:\Post-Install\PFMigration folders from exchange 2010 server to exchange 2016 server.
- Login to Exchange 2016 server.
- Copy PFMailboxMap.csv and PFSizeMap.csv files from C:\Post-Install\PFMigration to C:\Post-Install\pfscripts folder.
- Open Exchange Management Shell.
-
.\Create-PublicFolderMailboxesForMigration.ps1 -FolderMappingCsv PFMailboxMap.csv -EstimatedNumberOfConcurrentUsers:200 </p
Note:
-
New-MigrationBatch -Name PFMigration -SourcePublicFolderDatabase (Get-PublicFolderDatabase -Server GDMEX01) -CSVData (Get-Content C:\Post-Install\PFMigration\PFMailboxMAP.csv -Encoding Byte) -NotificationEmails csun@gooddealmart.ca
-
Run the following command to start the migration.
Start-MigrationBatch PFMigration
-
Open Exchange Admin Center and click recipients and then select migration, you will see the PFMigration batch status change to Syncing now.
-
Once InitialSync is complete, the status will show Synced.
- We are going to lock and complete the public folder for migration (downtime required)
- Login to Exchange 2010 Server.
- Open Exchange Management Shell as local administrator
-
Run the following command to lock the legacy public folders for finalization.
Set-OrganizationConfig -PublicFoldersLockedForMigration:$true
- Login to Exchange 2016 Server.
- Open the Exchange Management Shell on your Exchange 2016 server.
-
Run the following command to change the Exchange 2016 deployment type to Remote.
Set-OrganizationConfig -PublicFoldersEnabled Remote
-
Run the following command to complete the public folder migration.
Complete-MigrationBatch PFMigration
-
If the final synchronization is successful, the public folders on the Exchange 2016 server will be unlocked and the status of the migration batch will change to Completing, and then Completed.
-
Run the following command to assign some test mailboxes to use any newly migrated public folder mailbox as the default public folder mailbox.
Set-Mailbox -Identity GDMUSER2 -DefaultPublicFolderMailbox PFMailbox1
-
If everything looks okay, run the following command to unlock the public folders for all other users.
Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy $false
- Login to Exchange 2010 Server.
- Open Exchange Management Shell as local administrator.
-
Run the following command to indicate that the public folder migration is complete.
Set-OrganizationConfig -PublicFolderMigrationComplete:$true
- Login to Exchange 2016 Server.
- Open the Exchange Management Shell on your Exchange 2016 server.
-
Run the following command on the Exchange 2016 server.
Set-OrganizationConfig -PublicFoldersEnabled Local
-
Run following command on the Exchange 2016 and compare files contents with previously files and verify success.
Get-PublicFolder -Recurse | Export-CliXML C:\Post-Install\PFMigration\EX2016_PFStructure.xml Get-PublicFolderStatistics -ResultSize Unlimited | Export-CliXML C:\Post-Install\PFMigration\Ex2016_PFStatistics.xml Get-PublicFolder -Recurse | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CliXML C:\Post-Install\PFMigration\Ex2016_PFPerms.xml
Now, you have migrated the public folder from Exchange 2010 to 2016.
Hope you enjoy this post and Happy Friday!
Cary Sun
Twitter:@SifuSun
Thanks for very good job. Akin
best migration article on the web, period. very concise, thanks very much!