Exchange Tips from the Field

By Anderson Gobbi, Microsoft Premier Field Engineer.

How to Move Public Folder from Exchange 2003 to Exchagne 2010

How to Move Public Folder from Exchange 2003 to Exchagne 2010

  • Comments 33
  • Likes

Step 1: Replicating Exchange 2003 PF's to Exchange 2010

Add the Exchange 2010 server as PF replica partner for the Exchange 2003 server PF's:

  • From the Exchange 2010 server: .\AddReplicaToPFRecursive.ps1 -server "Exchange 2010 Server" -TopPublicFolder "\" -ServerToAdd "Exchange 2010 Server"

If you are planning to have multiple Exchange 2010 PF servers, you can repeat the Cmdlet above to all of them.

Replicate the Exchange 2003 Public Folder hierarchy and content to Exchange 2010 server using ESM (Exchange 2003 System Manager), and then (if you have multiple Exchange 2010 PF servers), replicate the Public Folder hierarchy and content from the Exchange 2010:

  • From the Exchange 2010 server: Update-PublicFolderHierarchy -Server "Exchange 2010 Server"

Step 2: Moving Exchange 2003 PF's to Exchange 2010 

As a last step, after you confirmed that all the PF have been replicated to the Exchange 2010, you can move all replicas from Exchange 2003 to Exchange 2010. The "move all replicas" will actually remove the Exchange 2003 replicas.

To move all Exchange 2003 replicas to Exchange 2010, which will actually remove the Exchange 2003 replicas:

  • From the Exchange 2010 server: .\MoveAllReplicas.ps1 -Server "Exchange 2003 Server" -NewServer "Exchange 2010 Server"

 Additional Cmdlets

  • To view a list of the replicas in the public folder hierarchy: Get-PublicFolder -recurse |fl name,replicas
  • For System Folders: Get-PublicFolder -recurse \non_ipm_subtree |fl name, replicas
  • To compare content replicated between the source and destination servers: Get-PublicFolderStatistics 

Reference

Move Public Folder Content from One Public Folder Database to Another Public Folder Database - http://technet.microsoft.com/en-us/library/bb331970.aspx

Comments
  • In the first step, where is the exchange 2003 server?

    I tried:

    .\AddReplicaToPFRecursive.ps1 -TopPublicFolder "\" -ServerToAdd "server2008" -Server "server2003"

    but the script said, that only exchange 2007 or higher can be used with this script.

    But how to replicate from 2003 to 2010?

  • You don't need to reference any Exchange 2003 server. Using the script this way, the 2007 or 2010 server will be add as replica.

  • would this include free/busy and OAB as well ??

  • i would also like to know about the free/busy & OAB & most other system folders as they didn't seem to replicate even after waiting 2 days??

  • Snipped from within the script file itself:

    -ServerToAdd (required)

    The server identity to add to the replica list. Must be a server with a

    public folder database.

    -------------------------- EXAMPLE 1 --------------------------

    C:\PS> .\AddReplicaToPFRecursive.ps1 -TopPublicFolder "\Folder" -ServerToAdd "MyEx2003Server"

    -------------------------- EXAMPLE 2 --------------------------

    C:\PS> .\AddReplicaToPFRecursive.ps1 -Server "MyEx2007Server" -TopPublicFolder "\Folder" -ServerToAdd "MyEx2003Server"

  • You don't need to specify a server with PF replica on the "ServerToAdd". If the replica is not coming through, you need to troubleshoot it. Recently I had a customer with the same issue, and we found out the replication was set to Never on the PF database level (you can check that on the Exchange 2003 Exchange System Manager). Please let me know if you need additonal help. Thanks!!

  • In order to get System Folders as well, you need to specify the"\NON_IPM_SUBTREE" as the TopPublicFolder:

    .\AddReplicaToPFRecursive.ps1 -TopPublicFolder "\NON_IPM_SUBTREE" -ServerToAdd Exch2010Server

    With Exch2010Server, being a Exchange 2010 server hosting a Public Folder database.  Just a note, as opposed to transitioning OAB from 2003, you might be better off creating a new OAB on 2010 and replicating that back to 2003 and specifying it on your 2003 mailbox databases.  We had some issues with this, and that was the quick fix.  Free/busy has worked fine though.

  • Whoops, don't forget to specify -Recurse like I just did, as noted in the additional cmdlets above ;)

  • One quick thing to add which threw me for a quick loop is that you need to make sure you are in the Scripts folder within your Exchange program folder structure in order for these commands to work. Just thought I would save a few minutes for someone.

  • So the first command now worked great. However, I am a little confused by this statement:

    Replicate the Exchange 2003 Public Folder hierarchy and content to Exchange 2010 server using ESM (Exchange 2003 System Manager), and then (if you have multiple Exchange 2010 PF servers), replicate the Public Folder hierarchy and content from the Exchange 2010.

    Can you please elaborate as to what exactly I am supposed to do - Isn't this already being done with the first command in your article? Now that the replica partnership has been setup, don't we just need to wait for the replication to finish?

    Thanks in advance.

  • Sorry for this delay Mohammad. And thanks for all comments and contribution!!!

    The answer for your question: The hierarchy information should be done only if you have successfully added the new replica to "all" folders, and if the replica list information is sucessfully replicated to the new servers.

    The reason I am running the hierarchy update is just to make sure I have all information about all folders (name, replica list, etc). Even if I don't have a replica for that folder, the folder properties (like replica list) will be populated. This can help to better identify the folders that still need to be replicated, for example.

    Another scenario is when you add the new server as replica partner (on 2003, for example), but his information is never update on 2010 - because of an error, of course. And to address that, I run the hierarchy update to make sure my new 2010 has the right information, and after that replication happens.

    My statement is wrong when I say "Replicate the Exchange 2003 Public Folder hierarchy and *content* to Exchange 2010 server", this should be: Replicate the Exchange 2003 Public Folder hierarchy to Exchange 2010 server".

  • You have Exchange spelled "Exchagne" in the title & UR:

  • Whats the best way to remove the E2k3 servers from the replication list once it has been determined they can be decommissioned?

  • Hi Sean, when you execute the "Step 2" the MoveAllReplicas.ps1 script will "remove" the Exchange 2003 server you want to decommiss. You can do that for many servers you may need. Just try to confirm you've added the 2010/2007 replicas before you run this script.

  • Thanks Jason. I will fix the title!

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment