20 C
Dubai
Tuesday, December 24, 2024

How to migrate Public folders from Exchange 2010 Sp3 to Exchange 2013

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

image

 

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

 

image

Exporting Public Folder Statistics to CSV ( Ignore the Below Error )

Get-PublicFolder -Recurse | Get-PublicFolderStatistics | Export-Csv C:\Exchange2010-PFStatistics.csv

image

Exporting Public Folder Permissions to CSV

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

image

Step 3: (Run in Exchange 2010 Server)

Make Sure PublicFoldersLockedForMigration and PublicFolderMigrationComplete is set to False

PublicFoldersLockedForMigration : False
PublicFolderMigrationComplete   : False

Get-OrganizationConfig  | fl *Migration*

image

 

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

image

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)

 

image

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

image

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

image

 

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”

image

 

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”

image

 

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

image

 

To Check status of Migration request

Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics -IncludeReport | FL

image

 

Get-PublicFolderMigrationRequest

image

 

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

image

 

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

 

image

 

Now Verify PublicFolderMigrationRequest is 100 Percent Complete

 

Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics

image

 

Get-PublicFolder –Recurse

image

 

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

 

image

image

 

 

Hope it is helpful Smile

 

Thank you

Satheshwaran Manoharan
Satheshwaran Manoharanhttps://www.azure365pro.com
Award-winning Technology Leader with a wealth of experience running large teams and diversified industry exposure in cloud computing. From shipping lines to rolling stocks.In-depth expertise in driving cloud adoption strategies and modernizing systems to cloud native. Specialized in Microsoft Cloud, DevOps, and Microsoft 365 Stack and conducted numerous successful projects worldwide. Also, Acting as a Technical Advisor for various start-ups.

Related Articles

11 COMMENTS

  1. Hi Sathesh,
    In the “Exporting Public Folder Permissions to CSV” step, you are running “Get-PublicFolder -GetChildren | Get-PublicFolderClientPermission” to get the permission. When we run Get-publicFolder -GetChildren, it will give you the list subfolders under root. Not the sub sub folders below that. So instead we can use Get-PublicFolder -Recurse itself.

  2. Hi Satheshwaran,
    Great info! Lots of useful tips.
    I hope you are doing well. Would you know of any powershell script that can propagate Public Folder permissions on Exchange 2010?
    Thanks!
    Amy

  3. Hi Satheswaran,

    i fallow the procedure but i run “Set-OrganizationConfig -PublicFoldersLockedForMigration:$true” on ex2013 and my request was showing that in progress at 95% in detail it was showing that relinquishing job because the mailbox locked the job will be attamp to complete after xxx time. i remove the migration request and delete publicfoldermailbox from 2013 and try to start migration again now there is a error showing “Failed to submit the request because public folder migration has already been successfully completed previosly”
    what should i do please suggest.

    • Public Folders.. Read about Inter-org its supports only 2010. Go for third party. It will be too complicated though.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

× How can I help you?