How to resolve the OAB issue with error 0x8004010F (Download Offline Address Book)

Share this post on:

1. Check the Global Address List (GAL):

Verify the GAL, which is the source of the OAB. (Can check in Exchange Management Shell )

Get-OfflineAddressBook | Format-List Name,AddressLists

2. Check the Arbitration Mailbox:

An arbitration mailbox is a special mailbox in Exchange that is used for storing system data like the OAB and handling certain workflows.

  1. Why it matters: The OAB is generated and stored in a special System Mailbox, which is an arbitration mailbox. If this mailbox is missing or misconfigured, the OAB cannot generate correctly.
  2. How to check it:
    • Microsoft has detailed guides on how to recreate arbitration mailboxes if they’re missing. If needed, you can refer to Microsoft’s guide.
    • Use the command below to list arbitration mailboxes in Exchange and check if the OAB mailbox is present
    • If the system mailbox for OAB is missing or incorrectly configured, you can follow the next steps to fix it.
Get-Mailbox -Arbitration

3. Update Mailbox Capabilities:

How to Find Your System Mailbox GUID

To find the correct GUID for the OAB system mailbox in your environment, you can run the following command:

Get-Mailbox -Arbitration | Where-Object {$_.PersistedCapabilities -like "*OAB*"} | Format-List Name,Guid

 

Use the following command to update the system mailbox (OAB arbitration mailbox) with the necessary capabilities:

**In this situation my GUID is {cc558c35-97f1-4cb9-8ff7-d53741dc928c}

Get-Mailbox "SystemMailbox{cc558c35-97f1-4cb9-8ff7-d53741dc928c}" -Arbitration | 
Set-Mailbox -Arbitration -UMGrammar $true -OABGen $true -GMGen $true -ClientExtensions $true 
-MessageTracking $true -PstProvider $true -MaxSendSize 1GB -Force

Add additional capabilities with this command:

$OABMBX = Get-Mailbox "SystemMailbox{cc558c35-97f1-4cb9-8ff7-d53741dc928c}" -Arbitration; 
Set-ADUser $OABMBX.SamAccountName -Add @{"msExchCapabilityIdentifiers"="40","42","43","44","47","51","52","46"}

4. Create a New OAB:

If the current OAB is corrupted or not working as expected, create a new OAB.

  1. Why it matters: A new OAB ensures fresh data is generated for Outlook clients to download.
  2. How to do it:
    • In the Exchange Admin Center (EAC):
      • Navigate to Organization > Address Lists > Offline Address Book.
      • Create a new OAB, and ensure it is set as the default OAB for users.

5. Update and Sync Changes:

Once the OAB and mailbox are configured correctly, it’s essential to propagate these changes across your network and ensure everything is up to date.

  1. Update the OAB:
    • Run the following command to update the OAB:
      Update-OfflineAddressBook -Identity "Default Offline Address Book"
      
  2. Enable Global Web Distribution:
    • Set the GlobalWebDistribution to $true, which allows the OAB to be distributed across the web to Outlook clients:
      Set-OfflineAddressBook "Default Offline Address Book" -GlobalWebDistributionEnabled

3. Sync changes across Domain Controllers:

  • Use repadmin to sync changes across all Domain Controllers, so Active Directory and Exchange stay aligned:
repadmin /syncall

Reset IIS using:

iisreset

6. Verify in Outlook:

Finally, verify that the OAB is functioning correctly by testing in Microsoft Outlook.

    • In Outlook, go to Send/Receive > Download Address Book and initiate a download of the OAB.
    • If the download is successful without any errors, the issue is resolved.

Loading