Let’s see how to migrate Public Folders from Exchange 2010 Sp3 to Exchange 2013
Step 1 : (Login to Exchange 2010 Server)
Login to Exchange 2010 Server and take a backup of Exchange 2010 PF structure
Note : Created a test PF structure for better Understanding

Step2 : (Login to Exchange 2010 Server)
Exporting Public Folder Structure , Item Count In folders(Statistics) , Permissions in Exchange 2010 Server
Purpose – To Verify the Content after migration.
Login to your Exchange 2010 Server . Open Exchange Management Shell
Exporting Public Folder Structure to CSV
Get-PublicFolder –Recurse | Export-CSV C:\Exchange2010-PFStructure.csv

Exporting Public Folder Statistics to CSV ( Ignore the Below Error )
Get-PublicFolder -Recurse | Get-PublicFolderStatistics | Export-Csv C:\Exchange2010-PFStatistics.csv

Exporting Public Folder Permissions to CSV
Get-PublicFolder -GetChildren | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CSV C:\Exchange2010-PFPermissions.csv

Step 3: (Run in Exchange 2010 Server)
Make Sure PublicFoldersLockedForMigration and PublicFolderMigrationComplete is set to False
PublicFoldersLockedForMigration : False
PublicFolderMigrationComplete : False
Get-OrganizationConfig | fl *Migration*

If this parameter is set to True , Run the below command to Change it to False
Set-OrganizationConfig -PublicFoldersLockedforMigration:$false -PublicFolderMigrationComplete:$false
Step 4: (Run this on Exchange 2013 server)
Make sure there is no PublicFolderMigrationRequest and PublicFolder Mailbox
Get-PublicFolderMigrationRequest
Get-Mailbox -PublicFolder

Get this Below Scripts and Supporting files , from Exchange 2013 Scripts folder (C:\Program Files\Microsoft\Exchange Server\V15\Scripts)
and Copy those files to Exchange 2010 Scripts Folder (C:\Program Files\Microsoft\Exchange Server\V14\Scripts)

Step 4: (Run this on Exchange 2010 server)
Login to Exchange 2010 Server , Open Exchange management Shell , As we copied the PF scripts to Scripts folder.
Locate to It and Run Both the Scripts
Script 1 :
.\Export-PublicFolderStatistics.ps1 -PublicFolderServer EXC2010.domain.com -ExportFile C:\PFMigration\Exchange2010-PFtoSize.csv
Copy the Exported File name “Exchange2010-PFtoSize.csv” , And Specify the same in the next script in –ImportFile Parameter

Script 2:
Copy the Exported File name on the above script “Exchange2010-PFtoSize.csv” , And Specify the same in the below in –ImportFile Parameter
.\PublicFolderToMailboxMapGenerator.ps1 -MailboxSize 5000000000 -ImportFile C:\PFMigration\Exchange2010-PFtoSize.csv -ExportFile C:\PFMigration\Exchange2010-PFtoMailbox.csv
Note – MailboxSize Parameter – 1GB – 1000000000 (In Bytes) , Maximum you can specify is 25GB

Step 5 : (Log into Exchange 2010 server)
Open file Exchange2010-PFtoMailbox.csv
Specify the PF mailbox name which you wish , Default name is Mailbox1
Specified “PFMailbox”

Step 6: (Log into Exchange 2013 server)
Create the PF Mailbox as the specified name in the CSV “PFMailbox”
New-Mailbox -PublicFolder PFMailbox -HoldForMigration:$true -Database “Mailbox Database”

Step 7: (Log into Exchange 2013 server)
Create PublicFolderMigrationRequest
New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase –Server EXCH2010) -CSVData (Get-Content C:\PFMigration\Exchange2010-PFtoMailbox.csv -Encoding Byte)
Note : If required you can add these parameters -AcceptLargeDataLoss –BadItemLimit
Bad limit value can be= 0 to 2147483647

To Check status of Migration request
Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics -IncludeReport | FL

Get-PublicFolderMigrationRequest

Step 8: (INVOLVES DOWNTIME)
(Note : Once you set PublicFoldersLockedForMigration to True – Users will lose access to Public Folders)
Once the PublicFolderMigrationRequest goes autosuspended we got to set PublicFoldersLockedForMigration to True
Set-OrganizationConfig -PublicFoldersLockedForMigration:$true

Now users would have lost access to the legacy Public Folder Database and replication to new Public Folder Mailbox is completed .
This may take time ,depending on your topology . ( Got to wait for 60 to 120 minutes)
Step 9:(Log into Exchange 2013 server)
Now you can Complete the migration, with the following two commands
Get-PublicFolderMigrationRequest -Identity \PublicFolderMigration | Set-PublicFolderMigrationRequest -PreventCompletion:$false
Get-PublicFolderMigrationRequest -Identity \PublicFolderMigration | Resume-PublicFolderMigrationRequest

Now Verify PublicFolderMigrationRequest is 100 Percent Complete
Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics

Get-PublicFolder –Recurse

Login to OWA – Right Click on Favorites – Add Public Folder – Verify you are able to access the migrated Data


Hope it is helpful 
Thank you