I have a mailbox server with a mailbox database and a public folder database.

I add a second mailbox server and create a mailbox database and a public folder database on it.

For mailbox databases, I'm setting up a DAG for both of them.

For public folders, I want all of the PFs, system ones and public ones, to be replicated on both servers.

What should I do to set up this replication? Do I need to do something at all, or is it automatically enabled? Is there any difference in default behaviour for system folders and actual public folders? And what about new folders, those created after the replication is enabled?

Either EMC or PowerShell would do; EMC would be preferred, if it can be done easily there.

PLEASE, don't suggest using MoveAllReplicas.ps1. I don't wat to move all replicas from one server to the other one; I want all PFs to exist on BOTH servers, for full fault tolerance.

  • IIRC you have to do it to each and every public folder individually. We wrote a script for that when we added databases, but I didn't write it. I'll see if I can hunt it up. You can do it in EMC, but your fingers will get tired. – sysadmin1138 Aug 12 '10 at 22:08
  • 1
    Today's answer would be AddReplicaToPFRecursive.ps1 in the \Exchange Server\Scripts folder. Might be new in 2010 SP1 if you didn't have it at the time of answering the question. – TessellatingHeckler Aug 16 '11 at 22:20

Use PFDAVADMIN or for Exchange 2010, use ExFolders. You can specify the servers to add at the top of the hierarchy and it will propagate the changes down the entire PF structure. You can google both for download locations and instructions. Its really self explanatory. If you have a lot of public folders, this is the easiest/quickest method.

  • Niiiiiiiiice... – Massimo Aug 23 '10 at 18:49

Use this Powershell script from the source PF Server

C:\Get-PublicFolder -Recurse | Set-PublicFolder -Replicas 'Replica1','Replica2','Replica3'

Where Replica1 and so on are your PF Database Names.


To brute-force this, you can do it from the Exchange Management Console.

  1. Launch the EMC
  2. Go to Tools
  3. Launch the Public Folders Management Console
  4. Select the top-level folders
  5. For each folder in the right-hand pane,
    1. Select the folder
    2. Click Properties
    3. Go to the Replication tab
    4. Click the Add button
    5. Add the database(es) you need
    6. Click OK
  6. Go back to 5 and repeat for any sub-folders under the top level folders.

You can get your System folders replicated this way pretty fast. If you have a large public folder hierarchy, a script is a better bet.

  • So, system folders aren't replicated automatically to each PF database? You need to manually replicate them, too? – Massimo Aug 12 '10 at 22:23
  • What about a script that does something like "for each public folder, add a replica on this database"? I'm sure this can be written... and I'm also quite sure someone has to have already written it! – Massimo Aug 12 '10 at 22:24
  • I think we wrote it, but the guy who wrote it is out sick today so I can't ask him. But yes, that is the idea. FOR EACH $PublicFolder {set-publicfolder $Identity -Replicas $ReplicaList} kind of thing. – sysadmin1138 Aug 12 '10 at 22:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.