Last Update: Sep 24, 2024 | Published: Jan 07, 2009
Offline Address Book Integrity (OABInteg) Utility Explained
In this article I’ll introduce you to the Offline Address Book Integrity (OABInteg) utility, which can be of great help when troubleshooting Offline Address Book (OAB) generation issues as well as OAB download issues.
Note: This article is published with permission from www.msexchange.org
Introduction
OABInteg is a nifty little command line display utility created by Dave Goldman who’s a Microsoft Exchange Escalation Engineer. There’s not much information about OABInteg utility on the Internet, so I thought it would be a good idea to write an article explaining and showing how to use it.
Basically OABInteg is a utility which can help you in troubleshooting OAB generations issues, as well as help out when dealing with Outlook clients that have problems downloading an OAB from a Public Folder store.
Note: As the time of this writing OABInteg isn’t publicly available, so you need to get in contact Microsoft Product Support Services in order to get a copy of the tool. But rumour has it there’s an MS KB article covering OABInteg on its way, and that the tool will be made publicly available when the article is released.
I’ve in my work as an Exchange consultant seen extremely many OAB related issues, and if you do a search for “OAB download problem” or “OAB generation problem” in on Google Groups or just here on MSExchange.org’s own Message Board the number of hits speaks for themselves (for example see this post which at the time of this writing got 158 replies so far!).
Features
The OABInteg utility is capable of gathering information on the following objects (done using non-intrusive tests):
OABInteg can simulate an Outlook client connecting to the System Folders in a Public Information Store in order to download the respective OAB files. OABInteg can also simulate the method which the OABGEN process uses when one or more OAB is rebuild.
OABInteg parameters
As you can see in the above figure, there’re several parameters available in OABInteg, I’ve listed each of them below.
Usage:
OABInteg.exe [/s:servername] [/t:testname] [/l] (enable file logging) [/v: 1 or 2] (enable verbose logging) | Optional Commands [/d:SearchDN] [/p:# – Page Size] [U/:UserName] [/P:password]
/l Logging output will go to c:’OABInteg.txt
/v: Logging output will go to the screen. – Default logging is general – nothing selected | /v:1 for minimum and /v:2 for maximum logging.
/p: Active Directory search page size. Default size is 64 and maximum is 512.
/dn: -proxytest only!! <Example: OU=Managers,DC=OrgName,DC=local>
Note: If you do not specify a search /dn: we will use base query of DC=OrgName,DC=local
/U: Username. If you are going to connect use different credentials or connect to a different domain.
/P: Password. If you are going to connect use different credentials or connect to a different domain.
OABInteg Tests
There’re four different types of test categories in OABInteg – Active Directory, MAPI, Registry and MAPI File tests. Each of these contains several sub-tests, all of which I’ve listed below.
Active Directory Tests
MAPI Tests
Registry Tests
MAPI File Tests
Usage Examples
In order to show you how OABInteg works I’ve included 3 usage examples in this article. Each of them is explained below in detail below.
Example 1
To validate whether the Mailbox Stores existing in the organization points to an Address List, you will use storealtests as shown below:
Oabinteg.exe /s:ehvms01 /l /t:storealtest
/S is used to specify the server and the /l parameter logs the result to a .txt file named OABinteg.txt in the root of the C: drive.
Executing this command in my test environment gives the output shown in the next figure:
Example 2
In order to list all Offline Address Books (OABs) in the organization we’ll use the oaltest command shown below:
Oabinteg.exe /s:ehvms01 /l /t:oaltest
Executing this command in my test environment gives the output shown in the following figure.
Example 3
Let’s also try to scan the AD for user objects that will be skipped during the OABGEN process, we do this by using the proxytest command as shown below:
Oabinteg.exe /s:ehvms01 /l /t:proxytest
Executing this command in my test environment gives the following result (notice an Event ID 9325 and 9324 will be logged to the Application log if either the proxyAddress doesn’t match or if the legacyExchangeDn doesn’t start with /=o or /=O respectively). For more details see the next figure.
Note: In this article we have only taken a look at the Active Directory related tests, but the MAPI tests available are at least as useful, so remember to check those out too, once you have got a copy of the OABInteg utility.
Summary
In this article we had a superficial look at OABInteg, we went through the parameters as well as the different types of tests available in OABInteg. As you probably already have experienced, troubleshooting OAB related issues, can be a complex and time consuming task, especially if you don’t know what’s going on behind the GUI. OABInteg will in most situations make the task a little less painful.
I will in a future article delve more into the tasks necessary to troubleshoot OAB related issues.
Related Reading
OAB Integrity Tool (OABINTEG) User Guide which included with the utility (a must read!)
TechNet Support WebCast: How to troubleshoot Offline Address Book issues in Microsoft Exchange Server:
http://support.microsoft.com/kb/905482
You may also find Dave Goldman’s WebLog interesting: http://blogs.msdn.com/dgoldman
Note: This article is published with permission from www.msexchange.org