Exchange Server Troubleshooting: There is no existing PublicFolder that matches the following Identity
Introduction
You are not able to list public folders in a co-existence scenario with Exchange Server 2007 and Exchange Server 2010/2013 using the Exchange 2007 EMS or EMC.
When you try to execute Get-PublicFolder you receive the following error:
Get-PublicFolder " There is no existing PublicFolder that matches the following Identity: '\. Please make sure that you specified the correct PublicFolder Identity and that you have the necessary permissions to view PublicFolder.
This might happen after you have removed the first Exchange 2007 mailbox server, but not the last Exchange 2007 mailbox server.
Exchange Server 2007 uses the Exchange System Attendant to access the public folder store and fails, if the System Attendant discovery in Active Directory does not provide a proper configuration.
KB 2621350 describes the discovery process:
Exchange Server 2007 selects a mailbox database.
Exchange Server 2007 obtains the LegacyExchangeDN attribute of the selected mailbox database. For example, Exchange Server 2007 obtains the following LegacyExchangeDN attribute value:
/o=First Organization/ou=Exchange Administrative Group (group_name)/cn=Configuration/cn=Servers/cn=E14HUBCAS/cn=Microsoft Private MDB
Exchange Server 2007 removes the "CN=Mailbox Database" part of the address. The address then resembles the following:
/o=First Organization/ou=Exchange Administrative Group (group_name)/cn=Configuration/cn=Servers/cn=E14HUBCAS
Exchange Server 2007 adds "CN=Microsoft System Attendant" to the LegacyExchangeDN value. After the value is appended, the LegacyExchangeDN attribute value resembles the following:
/o=First Organization/ou=Exchange Administrative Group (group_name)/cn=Configuration/cn=Servers/cn=E14HUBCAS/CN=Microsoft System Attendant
Exchange Server 2007 tries to log on to the public store by using the value in step 4.
The store then tries to locate the System Attendant object.
There two annoying things about these steps
Step 1: Exchange Server 2007 selects a mailbox database
There is no description available on how the database is being selected. But the co-existence scenario results in a mailbox database being selected that might be located on Exchange Server 2010 or Exchange Server 2013. Even thought that there still are Exchange Server 2007 mailbox database available. You still require to have a mailbox database hosted on an Exchange 2007 public folder server, due to the legacy public folder requirements with Exchange Server 2013.
Steps 2-4: The LegacyExchangeDN example shows a E14HUBCAS name as a placeholder. In a situation where you have deployed dedicated mailbox servers this should read E14MBX.
The magic System Attendant mailbox has been removed from Exchange 2010. But the System Attendent configuration node does still exist in the Active Directory Configuration Partition for compatibility reasons. The configured attributes of the System Attendent entry vary depending on the version of the installed Exchange Server.
In regards of public folder issue, we need to focus on the following:
- Exchange Server 2010 System Attendant
- homeMDB: <not set>
- homeMTA: <not set>
- Exchange Server 2013 System Attendant
- homeMDB: <not set>
- homeMTA: CN=Microsoft MTA,CN=E15MBX,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=[ORG],CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=[DOMAIN],DC=[TLD]
To fix the public folder access issue for Exchange Server 2007, set the homeMDB and homeMTA attributes. Set the Exchange System Attendant attributes to appropriate values for your Exchange servers.
Exchange Server 2013
Open ADSIEdit and connect to the Configuration context
Open Databases node
CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=[ORG],CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=[DOMAIN],DC=[TLD]
Open the Properties of an Exchange 2013 database
View the distinguishedName property and copy the value to clipboard
Example: CN=E15MBXDB01,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=[ORG],CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=[DOMAIN],DC=[TLD]
Close the Properties window and open the Servers node
C
N=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=[ORG],CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=[DOMAIN],DC=[TLD]
Expand the first Exchange 2013 server and open the Properties of the Microsoft System Attendant node
Ensure that the view is not filtered to Show only attributes that have values
Edit the homeMDB attribute and paste the distinguished name of the mailbox database copied in step 4
Apply the changes and close the properties window
Repeat steps 4 to 8 for each Exchange 2013 server in your environment.
Exchange Server 2010
Open ADSIEdit and connect to the Configuration context
Open Databases node
CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=[ORG],CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=[DOMAIN],DC=[TLD]
Open the Properties of an Exchange 2010 database
View the distinguishedName property and copy the value to clipboard
Example: CN=E14MBXDB01,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=[ORG],CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=[DOMAIN],DC=[TLD]
Close the Properties window and open the Servers node
CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=[ORG],CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=[DOMAIN],DC=[TLD]
Expand the first Exchange 2010 server and open the Properties of the Microsoft System Attendant node
Ensure that the view is not filtered to Show only attributes that have values
Edit the homeMDB attribute and paste the distinguished name of the mailbox database copied in step 4
Apply the changes and close the properties window
Open the Properties windows of the Microsoft MTA of the same Exchange
View the distinguishedName property and copy the value to clipboard
Example: CN=Microsoft MTA,CN=E14MBXSRV01,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=[ORG],CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=[DOMAIN],DC=[TLD]
Open the properties of the Microsoft System Attendant node for a second modification
Ensure that the view is not filtered to Show only attributes that have values
Edit the homeMTA attribute and paste the distinguished name of the mailbox database copied in step 10
Apply the changes and close the properties window
Repeat steps 4 to 13 for each Exchange 2010 server in your environment.
Wait for Active Directory replication and retry to access the public folders using Get-PublicFolder in an Exchange Server 2007 Management Shell.
It might be required to restart the Exchange 2007 Information Store and System Attendant service of the Exchange 2007 server in question
Use an administrative PowerShell
Restart-Service MSExchangeIS
Restart-Service MSExchangeSA
Additonal Links
- You cannot view a list of public folders in an Exchange organization that has Exchange Server 2007 and Exchange Server 2010 mailbox databases,
- On-Premises Legacy Public Folder Coexistence for Exchange 2013 Cumulative Update 7 and Beyond,
- Breaking Change : The System Attendant mailbox has been removed from Exchange 2010
- Exchange 2007 and 2013 environment – Public Folders on 2007 “Get-PublicFolder” cmdlet fails