When you run the Update-OfflineAddressBook cmdlet in a Microsoft Exchange Server 2010 environment, you receive an error message that resembles the following:
Failed to generate the content of the offline address book '\<OABName>'. Two possible reasons for the failure are that the System Attendant Service is not running or you do not have permission to perform this operation.
Note In this error message, "OABName" is a placeholder for the identity of the Offline Address Book which is not updated..
This problem occurs because the Offline Address Book (OAB) object is not replicated to the Configuration Domain Controller server that the OAB generation server uses.
Note The OAB generation server is a mailbox server.
To resolve this problem, make sure that the OAB object is replicated to the Configuration Domain Controller server. To do this, follow these steps:
Identify the Configuration Domain Controller server that the OAB generation server uses. To do this, follow these steps:
Click Start, click All Programs, and then click Microsoft Exchange Server 2010. Click Exchange Management Console to open it.
In the Exchange Management Console tree, click Server Configuration, and then click Mailbox.
In the details pane, right-click the mailbox server which generates the Offline Address Book, and then click Properties.
On the System Settings tab, identify the domain controller name in the Domain controller servers being used by Exchange box.
Verify that the OAB object is replicated to the Configuration Domain Controller server. To do this, follow these steps:
Click Start, click Run, type Adsiedit.msc in the Open box, and then click OK.
Right-click ADSI Edit, and then click Connect to.
In the Select a well known naming context list, select Default naming context. In the Select or type a domain or server box, type the fully qualified domain name (FQDN) of the Configuration Domain Controller server that is identified in step 1, and then click Ok.
Expand Configuration [dc.domain.com], expand CN=Configuration,DC=domain,DC=com, expand CN=Services, expand CN=First Organization, and then expand CN=Address Lists Container.
Click CN=Offline Address Lists, and then verify that the OAB object is listed on the result pane.
If you specify the DomainController parameter for the New- OfflineAddressBook cmdlet or the Update-OfflineAddressBook cmdlet, the cmdlet connects to the specified Domain Controller server to read or to write configuration information.
When you run the Update-OfflineAddressBook cmdlet together with the DomainController parameter, the cmdlet looks up the OAB object in the specified Domain Controller server. The generation server of the OAB object can be located by using the attributes of the object. Then, the cmdlet connects to the OAB generation server and sends an OAB generation request.
When the OAB generation server receives this request, the OAB generation server connects to its Configuration Domain Controller server to locate the OAB object. If the OAB generation server cannot find the OAB object on the Configuration Domain controller, an error is returned to the cmdlet.