I worked on a case recently where one particular user was not appearing in the offline address book in an Exchange 2010 organization.

This person had recently changed their name and the user account and Exchange details were updated with the new name. After the usual OAB update period had passed they were no longer appearing under the old or new name, though they appeared in the GAL itself when searched via OWA or an online Outlook client.

Looking into it I found some warnings on the mailbox server that was responsible for generating the offline address book.

Log Name: Application
Source: MSExchangeSA
Date: 12/09/2013 1:33:24 PM
Event ID: 9327
Task Category: (13)
Level: Warning
Keywords: Classic
User: N/A
Computer: SERVER1.exchangeserverpro.net
Description:
OALGen skipped some entries in the offline address list ‘Global Address List’. To see which entries are affected, event logging for the OAL Generator must be set to at least medium.
– Default Offline Address Book

Log Name: Application
Source: MSExchangeSA
Date: 12/09/2013 1:33:24 PM
Event ID: 9320
Task Category: (13)
Level: Warning
Keywords: Classic
User: N/A
Computer: SERVER1.exchangeserverpro.net
Description:
OABGen could not generate full details for some entries in the offline address list for address list ‘Global Address List’. To see which entries are affected, set event logging for the offline address list generator to at least medium.

Following the advice in those events I turned up the diagnostic logging level for offline address list generation on that server.

[PS] C:\>Set-EventLogLevel "SERVER1MSExchangeSAOAL Generator" -Level High

On the next offline address book generation attempt more details were logged to the event log. Event ID 9325 contains the reason for a given object being skipped by the OAL generator.

Log Name: Application
Source: MSExchangeSA
Date: 12/09/2013 1:33:10 PM
Event ID: 9325
Task Category: (13)
Level: Error
Keywords: Classic
User: N/A
Computer: SERVER1.exchangeserverpro.net
Description:
OABGen will skip user entry ‘Ann Parker’ in address list ‘Global Address List’ because the SMTP address ” is invalid.
– Default Offline Address Book

In this particular case the SMTP address attribute of the user object was corrupt. All I needed to do was re-enter that attribute and the user appeared in the OAB when it was next updated.

recipient-not-appearing-in-oab

That was the solution in my case, though it is possible you will encounter other root causes of the issue. In any case turning up the diagnostic logging should result in event log entries that tell you why the issue is occurring.

When you’re finished you can turn down the diagnostic logging again.

[PS] C:\>Set-EventLogLevel "SERVER1MSExchangeSAOAL Generator" -Level Lowest

About the Author

Paul Cunningham

Paul is a former Microsoft MVP for Office Apps and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul no longer writes for Practical365.com.

Comments

  1. KC Hemdanie

    Hello Paul.
    I’m running a Exchange 2010 hybrid environment with AADC set to sync on the AD mail attribute.
    When users with different primary email address are moved to EXO, the on-prem Exchange OABGen process drops them because of the email address mismatch and on-prem users no longer can find them in the Offline Address Book. Any idea how to fix it short of matching both email attributes. Thanks

  2. Anand

    Hi Paul,

    Unable to see one user under offline address book in outlook but showing in OWA. Please suggest the solution.

  3. Fabio

    Paul,

    Thank you very much!

    With this article you saved my life!

    ;0)

  4. Fabio

    Paul,

    Thank you very much!

    With this article you saved my live!

    ;0)

  5. RJA

    Thanks Paul, problem show up today and solved using your solution. probably because disc heavy load server this problem occur

  6. Adam Reid

    Does anyone know of a programmatic way of correcting this problem for a large number of users? I am thinking of writing something in Powershell to copy the relevant string from one user object attribute field to the other. Not sure if it is feasible or not.

  7. Sai Prasad

    Nice Article Paul…Thank you.

    Just to add on to this, as you have mentioned other root cause possibilities; Lingering objects in AD may also cause issues with OAB and OABValidate tool will throw all such object to be cleanup up for proper OAB working.

    If the same user had a corrupted Delegate (publicDelegates), then prpbable you’d end up using the tool.:)

  8. Tim Wittenburg

    Paul,
    Do you know of a handy tool to send an email to all DL Owners and have them review and update DL members….in other words, do an entitlement review on DL members?

    Thanks,

    Tim Wittenburg

    1. Paul Cunningham

      I don’t know of a tool. I’d probably just write a script if I needed to.

Leave a Reply