Exchange 2010 : OABGen Issues – PublicFolderDatabase

Exchange 2010 : OABGen Issues – PublicFolderDatabase

I came across an issue recently with an Exchange 2010 migration (same Organisation/Forest) where the OAB was not updating. On further investigation I identified that the following events were being logged on the mailbox database servers which were the home mailbox database servers for the affected users:

Log Name:      Application

Source:        MSExchangeSA

Description:

OABGen encountered error 80040111 while cleaning the offline address list public folders under /o=ORGNAME/cn=addrlists/cn=oabs/cn=OABNAME.  Please make sure the public folder database is mounted and replicas exist of the offline address list folders.  No offline address lists have been generated.  Please check the event log for more information.

– \OABNAME   

Using the command Get-OfflineAddressBook | select-object name,PublicFolderDatabase it was possible to identify that the PublicFolderDatabase that the OAB was set to publish to was incorrect.

Unforunately there is not an Esxchange Shell command to change this, you must use ADSIedit. Using ADSIedit browse to the following location, changing the items in bold to match your environment:

“CN=OABName,CN=Offline Address Lists,CN=Address Lists Container,CN=ORGNAME,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=DOMAIN,DC=LOCAL

Right-click this object and select properties. We’re interested in the siteFolderServer attribute – you’ll probably find this is incorrectly set if you’re getting the error above.

Next use the Exchange Shell to get the DN of a Public Folder Database in the same site; get-publicfolderdatabase | select-object DistinguishedName | fl

Copy the DN of the Public Folder Database into the siteServerName attribute of the failed OAB.

Update: 29/09/2011 – You should also confirm the replication scope of the OAB Public Folder mentioned in the error.  

You then have to restart the Exchange information Store service on the affected servers – of course this will interrupt mailbox database connectivity so if you have a DAG then I would suggest you perform failovers to minimise impact – if not then this may be an out of hours change!

Once completed run the Exchange Shell command from above to confirm that the PublicFolderDatabase setting is correct; Get-OfflineAddressBook | select-object name,PublicFolderDatabase

You can also perform an update of the OAB (update-offlineaddressbookname“) and then download it in a cached mode client to confirm functionality.