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
The store driver couldn't deliver the public folder replication message "Folder Content (" 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.