New Active Directory objects are not showing after Cached Mode clients download the OAB

I have been spending a fair amount of time in the newsgroups lately, and I have seen a lot of posts around new objects not showing in the Offline Address List when clients are running in Outlook cached mode. This is a fairly easy process to troubleshoot if you know where to look and what to look for. In order for new objects to show up in an Offline Address List, a few things must happen:

1. The RUS (Recipient Update Service) needs to stamp the appropriate policies on the object. Once this happens the object will be added to the Global Address list.

2. Active Directory replication has to take place. This is very important because in medium to large sized environments there is a good chance that when you update the Offline Address List, the OAB Generation server will be reading the Global Address List objects from a domain controller that has not received the new objects that were created.

3. The Offline Address List needs to be rebuilt. By default the scheduled rebuild time for an Offline Address Book is 5:00am every morning, unless changed by an administrator.

Now, here are some things that you need to remember about Microsoft Outlook clients:

1. Microsoft Outlook 2003 and 2007 clients are configured for cached mode by default.
2. An Outlook client will download the Offline Address Book assigned to the user when it synchronizes with the user’s mailbox for the first time. Once Outlook completes a full OAB download, it checks for updates every 24 hrs from the last successful update.

With that being said, there are several configurations that can be made to the cached mode OAB download. 

How to Control Offline Address Book Download Behavior in Outlook in Cached Exchange Mode
You can use this procedure to create a new registry key to control offline address book download behavior in Outlook in Cached Exchange Mode.

Warning - Incorrectly editing the registry can cause serious problems that may require you to reinstall your operating system. Problems resulting from editing the registry incorrectly may not be able to be resolved. Before editing the registry, back up any valuable data.

1. On the Outlook client computer, open a registry editor, such as Regedit.exe or Regedt32.exe.
2. Navigate to: HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\11.0\Outlook\Cached Mode
3. In the left pane, right-click the Cached Mode subkey, point to New, and then click DWORD Value.
4. Type DownloadOAB, and then press ENTER.
5. Double-click DownloadOAB.
6. In the Edit DWORD Value dialog box, enter one of the following in the Value box:

  • 0 – The offline address book does not download automatically.
  • 1 – The offline address book uses the Download Full Items download mode. This is the default setting.
  • 2 – Download the offline address book in any download mode, but download a differential update in the Header only download mode.
  • 3 – Always download the offline address book and a differential update in one of the following download modes: Download Headers and then Full Items, Download Full Items, and Download Headers.

7. Click OK.
8. Close the registry editor, and restart the Outlook client for the change to take effect.

How to Download the Full Details Option for the Offline Address Book
You can use this procedure to download the Full Details option for the offline address book. Providing that replication has taken affect successfully and the Offline Address List in question has been rebuilt, you should see your new changes in your cache mode copy of the Offline Address List

To download the Full Details option for the offline address book

1. Start Outlook 2003 or 2007.
2. On the Tools menu, click ‘Send/Receive’.
3. Click ‘Download Address Book’.
4. Click ‘OK’.

If you want to do a full OAB Download, you can do the following:

5. Make sure you un-checked ‘Download changes since last Send/Receive.
6. Click ‘OK’.

How to check if the new changes have been replicated to all domain controllers
Once you have verified what domain controller you are connected to with your Active Directory Users and Computers MMC, you want to load up LDP. LDP is used to view objects in the Active Directory. You will need to expand the domain naming context, and navigate down to the container that your object resides.

You can look at properties like showInAddressBook and proxyAddresses to verify that the RUS has stamped the object successfully. If everything is ok here, you want to proceed to connect to the rest of your domain controllers and verify the same information. If you see inconsistencies between the objects, then you know that all of your changes have not replicated around yet. If this is the case, then you will need to use the Active Directory Sites and Services MMC to force replication.

The last key thing to check is to make sure that the domain controller that the OAB Generation process is going to be using has this updated information. To verify this you will need to turn up the diagnostic logging on the OAB Generation server and look for the 9117 event id. This event id will indicate which domain controller you are using.

Event ID : 9117
Category : OAL Generator
Source : MSExchangeSA
Type : Informational
Generated : 1/1/2007
Machine : OAB_Server1
Message : OALGen successfully opened a connection to Active Directory 'OAB_Server1' which will supply the current Address Lists.
- Default Offline Address List
For more information, click https://www.microsoft.com/contentredirect.asp.  

NOTE: Before Exchange 2003 Service Pack 2 you will not see which domain controller name listed in the event id. If you do not have the domain controller name in the event id, you will need to take a Netmon trace. Taking a Netmon trace will show you where the NSPI calls are going, then you know that is the domain controller you are using.

How to verify that the changes have been generated by the OAB Generation Server
Before you see the changes you will need to rebuild your Offline Address List. Once you have done this there are several ways you can check for the new change files.

  • For OAB Version 2 and OAB Version 3a there will be a changes.oab file.
  • For OAB Version 4 there will be a binpatch.oab file. 

1. You can use OWA to connect to the OAB folders and look for the latest changes.oab and or binpatch.oab file that was created.

2. You can run OABInteg /s:exchsrvrname /t:oabfldcheck /v:2 /l and then look at the c:\OABInteg.txt file.

By running this OABInteg command, you are having the tool connect to the public folder information store. Once it connects to the store it will dump out all of the information about the OAB messages and attachments that are posted for Outlook clients to download. You can look at the time stamps in the output file to verify that the changes.oab file has been created.

Once you have done all of the steps listed above, you can download the OAB files and you should see the new changes in your local Offline Address List.

For more information on troubleshooting the OAB Generation process see this blog:
https://blogs.msdn.com/dgoldman/archive/2005/07/16/439665.aspx

For more information on where the Outlook client files reside, see this blog:
https://blogs.msdn.com/dgoldman/archive/2005/04/28/413043.aspx