Exchange 2007 Public Folders Won't Replicate to Exchange 2010

Wednesday, August 24, 2011

I ran into a new problem today with an Exchange 2010 SP1 migration.  The customer migrated a few years ago from Exchange 2003 to 2007, and I'm now migrating their pure Exchange 2007 SP2 environment to Exchange 2010 SP1.  The customer has several Public Folder servers, so I need to migrate those as well.

I created the Public Folders databases on the new Exchange 2010 SP1 UR4 servers, but the hierarchy and folders would not replicate to the new servers.  The Application event log shows the following error:

Log Name:      Application
Source:        MSExchange Store Driver
Date:          8/24/2011 3:30:02 PM
Event ID:      1020Task Category: MSExchangeStoreDriver
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      E2010MB01.domain.com
Description:
The store driver couldn't deliver the public folder replication message "Folder Content (PublicFolderDatabase2@domain.com)" because the following error occurred: The Active Directory user wasn't found..


It turns out that this happens when the Exchange 2003 removal process doesn't remove the empty CN=Servers container under the old Exchange 2003 Administrative Group.  You can use ADSIEdit to remove this empty container:
  • Run ADSIEdit.msc
  • Open the Configuration naming context
  • Navigate to CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=OrgName,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=domain,DC=com
  • Delete the empty CN=Servers container, as shown below.  This is safe to do as long as there are no Exchange 2003 servers in the environment.

If the CN=Servers container is not empty and you don't have any Exchange 2003 servers in your environment, you've probably got bigger problems from a botched removal of Exchange 2003.  In this case read How to remove Exchange Server 2003 from your computer, or you might want to call PSS.

Once you've removed the empty CN=Servers container allow time for the change to replicate throughout the domain's domain controllers, and then issue the following command from the Exchange 2010 management console:
Get-MailboxServer -Identity EX2007 | Update-PublicFolderHierarchy
Where EX2007 is an Exchange 2007 that hosts the Public Folder database. You should see the hierarchy almost immediately on the new Exchange 2010 servers using the Exchange 2010 Public Folder Management Console.

7 comments:

  1. Good valuable information Jeff.

    -Gulab

    ReplyDelete
  2. Jeff, I already see the 2007 PF structure from 2010 gui by 'connecting' to to 2007 side from 2010 EMC.

    so, I don't think I need to do the "UpdatePublicFolderHierarchy' part.

    Right?

    So, after I remove this empty servers object, then I should be able to use 2010 EMC GUI and replicate my 2007 PF structure across to 2010;

    or, alternatively, I can use the powershell scripts to addreplicarecursive.ps1 and then there is also a 'move pf' script as well.

    I don't have the exact error you mention, but slightly different, and I do have an old empty Servers object, so I will be removing that and then attempting replication again.

    My error is more along the lines of "can't find" folder structure; etc.

    THANKS for your info!

    ReplyDelete
  3. If the hierarchy is replicating properly you should see all your folders when connected to an Exchange 2010 PF server. Deleting the empty Servers container and updating the hierarchy (so that it replicates to the 2010 PF servers) should fix it.

    ReplyDelete
  4. Thanks Jeff. I have never setup replication. When I tried, I got the errors. But I will see if it might have "continued from where it left off" when it had the errors.

    The 2010 "feature" of Public Folders, and related replication, are only "options" and, when I setup the new 2010 servers, it never gave me the option at that time to use Public Folders - since the setup noticed that we were "pure 2007 or higher" environment. If we had been mixed 2003 environment, my understanding is that it would have given us the option "at install time." At least, that's how I understand it.

    So, it is like going back to "Square #1,"
    1) Set up a PF DB on 2010,
    2) Set up replication from 2007 to 2010 (fails)
    3) Pray to the Exchange gods.

    So, indeed, if that was holding up my replication, and not allowing it to be set, then removal of that "ghost 2003 folder" now should allow me to setup replication.

    Gratefully,
    [the other] Jeff

    ReplyDelete
  5. Oh, and if the "update hierarchy" forces replication from 2007 to 2010, that's fine, too.
    Will verify and update back here.

    Still, I'm hazy on Whether AND "if" the replication automatically includes the System folders (Free+Busy & OAB) - Microsoft talks like that part is a separate issue, and you have to explicitly set that to replicate, separately from the general 'root Public Folder replication.'

    Any ideas on that?

    ReplyDelete
  6. Really, there's not much to setup for hierarchy replication. When you setup your first Exchange 2010 server it asks if you have any "legacy" Outlook 2003 clients in your org. If you answer yes, it automatically creates a Public Folder database on the first server because Outlook 2003 and earlier requires PF for free busy publishing.

    ReplyDelete
  7. Precisely, and since I said "no" during setup, I am left trying to figure out what steps are now needed to "manually" setup replication from 2007 to 2010. We are all 2010 clients, no 2007 and no 2003.

    Yesterday, per the Microsoft docs/steps, I manually created the 2010 PF db and, when I initially tried to replicate, I got errors, so I am now trying again, after finding your excellent notes.

    Thanks again!

    ReplyDelete

Thank you for your comment! It is my hope that you find the information here useful. Let others know if this post helped you out, or if you have a comment or further information.