In an Exchange Server 2010 organization it is normal for there to be some delay before administrative changes appear in the address book for Outlook users.
For example, a staff member changes surnames and the help desk updates their Active Directory account with the new name. The staff member may notice that when the address book is viewed in Outlook their name remains unchanged, and may do so for 24-48 hours.
A common reason for this is the offline address book (OAB) schedules that are in place for the environment.
Consider the following process:
- A change is made in Active Directory (eg, the user’s surname)
- The OAB generation process occurs (5am daily by default)
- The OAB file distribution process runs (every 8 hours by default)
- The OAB is downloaded to the Outlook client (at startup)
So in real world conditions that process may actually look like this.
- At 9am the help desk changes the user’s surname
- At 5am the next day the OAB generation process runs
- Up to 8 hours later (ie as late as 1pm) the OAB file distribution process runs
- The OAB is updated at next Outlook startup the day after that
So it is easy to understand why changes may not appear in the address book for cached-mode Outlook users for 24-48 hours after the change is actually made.
Note: a good way to verify whether an inconsistency is OAB-related or not is to use Outlook Web App to look up the person in the address book. If OWA shows the correct details, and cached-mode Outlook does not, then it is likely an OAB-related issue whether that is simply a normal delay as shown above, or possibly an OAB problem of some kind.
So what can we do to optimize this process?
Well first of all, consider whether you should take any action at all. A delay for changes appearing in the OAB may be perfectly acceptable to some organizations. And additional load from OAB generation and distribution cycles running more frequently may be undesirable to some administrators.
But, assuming you do want to improve this situation in your environment, here is what you can do about it.
Modify the OAB Generation Schedule
The first item to consider is a change to the OAB generation schedule. If you know that your administrators are only making changes up until 6pm each day, then waiting until 5am the next day to update the OAB is probably unnecessary.
In the Exchange Management Console navigate to Organization Configuration -> Mailbox and select the Offline Address Book tab.
Open the Properties of the OAB you want to modify and look at the Update Schedule.
The default schedule runs daily at 5am, and there are some other pre-configured schedules you can choose as well. If none of those suit your needs you can choose a custom schedule and then customize it to run at one more times on each day.
Modify the OAB File Distribution Schedule
OAB files are distributed to Exchange Server 2010 Client Access servers where they are made available for web-distribution to Outlook clients.
Each OAB virtual directory included in the web-distribution list for an OAB polls for changes on a configurable interval. The default is 480 minutes (8 hours).
I find PowerShell to be a little easier to use for managing this setting.
[PS] C:\>Get-OabVirtualDirectory | Select Server,Name,PollInterval Server Name PollInterval ------ ---- ------------ BR-EX2010-MB OAB (Default Web Site) 480 HO-EX2010-MB2 OAB (Default Web Site) 480 HO-EX2010-MB1 OAB (Default Web Site) 480
If you want to ensure that the OAB web-distribution points are updated before most Outlook users begin logging on in the morning then you would may need to change this polling interval.
Let’s look at two examples:
- With the OAB generation schedule modified earlier to also run at 7pm an OAB file distribution interval of 8 hours means the web-distribution points will likely be up to date at 3am. So in this case there may be no need to make a change.
- With the default OAB generation schedule of 5am daily you may want to lower the polling interval to 1 or 2 hours so that the web-distribution point is up to date by 7am.
For that second scenario we can update the interval either via the OAB virtual directory properties (shown above) or using Set-OABVirtualDirectory.
[PS] C:\>Get-OabVirtualDirectory | Set-OabVirtualDirectory -PollInterval 120 [PS] C:\>Get-OabVirtualDirectory | Select Server,Name,PollInterval Server Name PollInterval ------ ---- ------------ BR-EX2010-MB OAB (Default Web Site) 120 HO-EX2010-MB2 OAB (Default Web Site) 120 HO-EX2010-MB1 OAB (Default Web Site) 120
The default OAB generation and distribution schedules work just fine for many organizations, but some will find they are not suitable and are causing support issues when changes are made that do not appear in the address book until 24-48 hours later.
In those cases the Exchange Server administrator can consider making adjustments to the OAB generation and distribution schedules to suit their environment better.
Thank you for share the article.
How we can Optimizing Offline Address Book Schedules in Exchange Server 2013 ?
Nice information. Do you have similar directions for a hosted Exchange environment in Office 365?
Office 365 doesn’t give you any controls for the OAB.
Great article, Paul.
Always explain in plain English and present via easy-to-understand diagrams with well explanation. Keep good works on Paul.
Again an interesting article, thanks Paul.
Thank you, Paul.
Can step 3 be forced by manually restarting the Microsoft Exchange File Distribution service?
Yes it can.
Once again an interesting article, thanks.
When the users call 8 o’clock about missing details in the OAB, then I should give them an answer like “after 12 o’clock you can restart Outlook and the addressbook will be updated”. 🙂
Then there are the users never restarting Outlook, they have to wait 24 hours or learn how to manual download the OAB.
If I was getting a lot of support calls for OAB info being out of date I would adjust my schedules so that it was updated well before 8am to minimise those support calls.
Thanks Paul,another great article! Always a pleasure to read your posts 🙂