To update the Exchange Online address book, first check where the contact is missing: if it appears in Outlook on the web but not Outlook, suspect Offline Address Book lag or a local cache problem; if it is missing in both, inspect the GAL or recipient filter. A wrong diagnosis wastes time and leaves users sending to stale recipients. This guide shows the fastest checks for OAB lag, GAL and recipient filtering, and Outlook cache issues before you try fixes.
What you need before you start
- Exchange Online PowerShell access for the tenant or mailbox admin account.
- The affected user name, mailbox, or recipient display name.
- One test recipient that should appear in the address book.
- Access to classic Outlook for Windows, new Outlook for Windows, and Outlook on the web for comparison.
- If the tenant is hybrid, a way to confirm Entra Connect sync status.
📊 Exchange Online generates offline address books every 8 hours. Source: Microsoft.
Why is the address book out of date?
The fastest way to diagnose this is to separate the stale layer. If Outlook on the web shows the recipient, the directory data is usually present and the issue is more likely OAB lag or a client cache. If Outlook on the web does not show it, look at the GAL, address lists, hidden-from-address-lists status, or an ABP assignment.
Suppose a new hire appears in Outlook on the web but not in classic Outlook. That points away from the directory and toward Cached Exchange Mode or OAB download behavior. Suppose the name is missing everywhere except one user’s mailbox. That usually points to an ABP or segmentation rule rather than a tenant-wide delay.
What the layers do
The Global Address List is the main Exchange Online directory for mail-enabled recipients, including users, contacts, groups, and public folders. The Offline Address Book is the downloadable address list collection that classic Outlook uses in Cached Exchange Mode. Address Book Policies can point a user to a different GAL, OAB, room list, and address lists.
Step 1: confirm where the problem shows up
- Open Outlook on the web and search People for the recipient.
- Open classic Outlook and repeat the same search.
- Open new Outlook and repeat the same search.
- Use the result to split the problem: online directory data, cached client data, or a policy or filter issue.
If the recipient appears in Outlook on the web, the directory data is online and current enough for web search. If it appears in new Outlook but not classic Outlook, treat the OAB or local cache as the first suspect. If it is missing in every client, move straight to recipient filters, hidden-from-address-lists settings, and ABPs.
Step 2: check the directory and filters
- Run Get-GlobalAddressList and note the default GAL and any custom GALs.
- Run Get-AddressList to inspect the address lists and their filters.
- Run Get-OfflineAddressBook to see which OAB is active.
- Check the recipient with Get-Recipient -Identity user@domain.com | Format-List DisplayName,HiddenFromAddressListsEnabled,RecipientTypeDetails.
- Check mailbox policy assignment with Get-Mailbox -Identity user@domain.com | Format-List AddressBookPolicy,OfflineAddressBook.
A recipient hidden from address lists will not appear in the GAL. A bad recipient filter can exclude a mailbox from a custom address list even when the mailbox exists. In segmented environments, an ABP can send one user to a different GAL or OAB, so the issue may be policy scope instead of replication. (Microsoft Learn)
How do you force a directory-side refresh?
You do not force Exchange Online to rewrite the GAL on demand from Outlook. You verify the object in PowerShell, then fix the directory condition that blocks visibility. If the object is hidden, correct HiddenFromAddressListsEnabled. If the ABP is wrong, assign the intended policy. If the object comes from on-premises, wait for Entra Connect to sync the change into Exchange Online.
How do I force Outlook to refresh?
Classic Outlook can pull a new address book copy, but that only helps when the underlying directory data is already correct. New Outlook depends on Microsoft 365 online services, so a local OAB action does not apply in the same way. Outlook on the web reflects online directory data and is the cleanest comparison point.
Classic outlook for windows
- Open Send/Receive tab > Send/Receive Groups > Download Address Book.
- Clear Download changes since last Send/Receive to force a full OAB download.
- Select the address book and click OK.
Outlook can download address book changes since the last Send/Receive, and unchecking that box forces a full OAB download. Outlook may only download changes unless the update is large enough, and a change larger than 12.5% can trigger a full OAB download.
New Outlook for windows
- Close and reopen new Outlook.
- Sign out and sign back in if search results look stale.
- Use People search again after the session refreshes.
New Outlook relies on Microsoft 365 online services and directory search rather than the same local OAB model. If a recipient is missing there but present in Outlook on the web, the issue is still likely account state, policy scope, or directory data, not a local OAB download.
Step 4: verify the offline address book cycle
- Run Get-OfflineAddressBook | Format-List Name,IsDefault,LastTouchedTime.
- Confirm the mailbox uses Cached Exchange Mode in classic Outlook.
- Check whether the active OAB matches the mailbox policy assignment.
Exchange Online generates offline address books every 8 hours. That schedule means a newly corrected recipient may still lag in classic Outlook until the next generation and download cycle completes. Traditional OAB troubleshooting mainly applies to classic Outlook for Windows.
Address book troubleshooting matrix
| Symptom | Likely layer | Where to verify it | Exact command or path | Expected result |
|---|---|---|---|---|
| Recipient appears in Outlook on the web but not classic Outlook | OAB or client cache | Classic Outlook on Windows | Send/Receive > Send/Receive Groups > Download Address Book | Classic Outlook downloads the latest address book and then shows the recipient after refresh |
| Recipient appears in new Outlook but not classic Outlook | Client cache or OAB lag | New Outlook and classic Outlook | Close and reopen new Outlook; in classic Outlook use Download Address Book | New Outlook reflects online data; classic Outlook updates after OAB refresh if the directory is correct |
| Recipient is missing in Outlook on the web, new Outlook, and classic Outlook | GAL, address list, ABP, or hidden recipient | Exchange Online PowerShell | Get-Recipient, Get-GlobalAddressList, Get-AddressList, Get-Mailbox | The object is found and visible in the intended list, or the filter and hidden flag explain why it is absent |
| One user sees a different address book set than another user | ABP | Mailbox policy assignment | Get-Mailbox -Identity user@domain.com | Format-List AddressBookPolicy,OfflineAddressBook | The mailbox points to the expected ABP, GAL, OAB, and address lists |
Common mistakes
A common first-timer mistake is treating every missing name as an OAB problem. If Outlook on the web also misses the recipient, the fix is usually in the GAL, recipient filter, or ABP. A local refresh cannot repair a bad filter.
Another common mistake is assuming new Outlook uses the same local OAB behavior as classic Outlook. It depends more on Microsoft 365 online services, so test People search and sign-in state first. In hybrid environments, also remember that on-premises changes may need to flow through Entra Connect before Exchange Online reflects them.
If that didn't work, try this next
- Confirm the recipient is not hidden with Get-Recipient -Identity user@domain.com | Format-List HiddenFromAddressListsEnabled.
- Check whether an ABP is assigned with Get-Mailbox -Identity user@domain.com | Format-List AddressBookPolicy.
- Check the default GAL filter with Get-GlobalAddressList | Format-List Name,RecipientFilter.
- For classic Outlook, force a full OAB download from Send/Receive if the online directory is already correct.
Say a mailbox was just unhidden, but classic Outlook still shows the old state. That points to the OAB path, so a manual full download is the next step. Suppose a user is assigned to a segmented ABP and sees only a subset of recipients. In that case, changing the client cache will not help until the policy is corrected.
Frequently asked questions
How do I force Exchange Online to update the address book in Outlook?
First verify the recipient is visible in Outlook on the web. If it is, classic Outlook users should go to Send/Receive > Send/Receive Groups > Download Address Book and, if needed, clear Download changes since last Send/Receive. If the name is missing online too, fix the GAL, ABP, or recipient filter instead.
Why is a new user not showing in Outlook address book yet?
Check whether the mailbox exists in Exchange Online and whether HiddenFromAddressListsEnabled is set to False. If the user came from on-premises, wait for Entra Connect to sync the object into Exchange Online. Then compare Outlook on the web and classic Outlook to see whether the issue is directory-side or OAB-side.
How often does the offline address book update in Exchange Online?
Exchange Online generates offline address books every 8 hours. Classic Outlook may still lag until the next download after that generation. If Outlook downloads only incremental changes, a full refresh from Send/Receive > Download Address Book can be the faster check.
What is the difference between the GAL and the offline address book?
The GAL is the main Exchange Online directory view for mail-enabled recipients. The OAB is the downloadable copy that classic Outlook uses in Cached Exchange Mode. Outlook on the web reads online directory data, while classic Outlook may keep showing older OAB data until it refreshes.
How do I download the latest address book in Outlook desktop?
In classic Outlook for Windows, open Send/Receive > Send/Receive Groups > Download Address Book. To force a full download, clear Download changes since last Send/Receive. That path does not apply in the same way to new Outlook, which depends on online services.
Can Exchange Online address lists be updated with PowerShell?
Yes. Use Get-GlobalAddressList, Get-AddressList, and Get-OfflineAddressBook to inspect the current setup, and Get-Recipient or Get-Mailbox to verify visibility and policy assignment. Changes to address list membership usually depend on recipient filters and directory state, not a single refresh command.
Does New Outlook use the offline address book the same way as classic Outlook?
No. New Outlook relies on Microsoft 365 online services and directory search, so it does not depend on a locally downloaded OAB in the same way classic Outlook does. If new Outlook shows current data but classic Outlook does not, the faster path is to check OAB behavior and Cached Exchange Mode first.