Public Folder Replicas – Moving from 2007 to 2010

What are the overall steps for migrating Public folders from Exchange 2007 to 2010?

1) Create Public Folder databases for each server you want to host Public Folders [remember that DAG replication does not replicate Public Folder databases].

To create the databases:

  • Open up the Exchange Management Console, expand Organization Configuration, select Mailbox and then the Database Management tab.
  • Once this is selected, an option for  ‘New Public Folder Database’ appears in the Action Pane on the right.  Click this.  Give the database a name that will be unique in Exchange and select the server to place the database on.  Click Next.
  • Enter a path for the logs and databases.  Click Next.
  • Click New.

2) Create replicas of existing public folders using a Microsoft PowerShell script:

.\AddReplicaToPFRecursive.ps1 -TopPublicFolder “\” ServerToAdd <new server to replicate to>

3) Once completed, you can verify if the servers that are to be replicas for your Public Folders is correct (may have to wait for AD replication) by using this command:

Get-PublicFolder -Identity “\” -Recurse -ResultSize Unlimited |ft identity,replicas –auto

Per Microsoft, this can take hours or days depending on how much you need to replicate.  The other consideration you need to take into account is how much data you are replicate will generate logs on the desintation as well as enlarge the mail.que file on the Hub Transport server that replicated this data to Exchange 2010.

4)  Wait for all the data to replicate.  This can be verified by checking the item count of your folders:

get-publicfolderstatistics -identity “\” -resultsize unlimited |ft folderpath,itemcount -auto

If you wish, the same process can be repeated for System Folders, although I do not recommend this due to the fact that some System Folders that will be replicated are not needed by the new servers.

The command for System Folders would be:

Get-PublicFolder -server <Exchange 2010 PF server name> -Identity “\non_ipm_subtree” -Recurse -ResultSize Unlimited |ft name,replicas –auto

5) Once all the replication has completed, you need to move all replicas to Exchange 2010:

MoveAllReplicas.ps1 -Server <Exchange 2007 srv> -NewServer <Exchange 2010 Srv>

6) Verify content:

Get-PublicFolderStatistics –Server <Exchange 2007>

Get-PublicFolderStatistics –Server <Exchange 2010>

That’s all.


4 thoughts on “Public Folder Replicas – Moving from 2007 to 2010

  1. When I try to run that script it is saying it cannot find the command, I need help. I am being pushed to Powershell but I am not a Powershell guy yet. I need some basic instructions that assume I do not understand things like adding cmdlets. I wish public folders would go away

    • to run a script from the Exchange Management Shell the command must be preceded by .\
      as in the step 2 above. Please note that you must first change to the directory that contains the script. For my Exchange 2010 Server it was: cd Get-PublicFolderStatistics –Server <Exchange


    Nice post very useful.

    Need to clarify when we migrated all the public folder data from ex7 to ex10 why we need to run
    MoveAllReplicas.ps1 -Server -NewServer

    If I don’t run this script does it affect my replicated EX10 public folders.

    Anand S

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s