Exchange ServerTroubleshooting

Offline address book not downloading in Outlook: fixing 0x8004010F and 0x80190194

Outlook can't download the offline address book from Exchange Server? Check the OAB assignment, web distribution, generation mailbox and OAB URL, then force a clean download.

Users in Cached Exchange Mode can't see new colleagues in the address book, and downloading the offline address book (OAB) by hand fails with 0x8004010F or 0x80190194. The cause is usually on the server: no OAB that Outlook can find, an OAB that isn't being generated, or a download URL that leads nowhere. Here's how the OAB reaches Outlook, where each error fits, and how to fix each step.

Errors this guide fixes

  • Task 'Microsoft Exchange Server' reported error (0x8004010F): 'The operation failed. An object could not be found.'Outlook Send/Receive
  • Task '<account>' reported error (0x80190194): 'The operation failed.'Outlook (Download Address Book)
  • 0x8004010FOutlook Send/Receive
  • 0x80190194Outlook (Download Address Book)
How this guide is organised: Symptoms → Why it happens → How to fix it → Verify the fix → Prevent it next timeFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (6 steps: Check which OAB the user should get; Make sure the OAB is published; Check the generation mailbox; Generate the OAB and check the files; Check the OAB URL and test the download path; Clean up the client and download again). 4. Verify the fix. 5. Prevent it next time. Toolbox: 0x8004010F, 0x80190194, Get-AddressBookPolicy, Get-OfflineAddressBook, oab.xml.1Symptoms2Why it happens3How to fix it4Verify the fix5Prevent it nexttime1Check whichOAB the user…2Make sure theOAB is publis…3Check thegeneration m…4Generate theOAB and chec…5Check the OABURL and test…6Clean up theclient and do…TOOLBOX0x8004010F0x80190194Get-AddressBookPolicyGet-OfflineAddressBookoab.xmlHow this guide is organised: Symptoms → Why it happens → How to fix it → Verify the fix → Prevent it next timeFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (6 steps: Check which OAB the user should get; Make sure the OAB is published; Check the generation mailbox; Generate the OAB and check the files; Check the OAB URL and test the download path; Clean up the client and download again). 4. Verify the fix. 5. Prevent it next time. Toolbox: 0x8004010F, 0x80190194, Get-AddressBookPolicy, Get-OfflineAddressBook, oab.xml.1Symptoms2Why it happens3How to fix it1Check which OAB the user should get2Make sure the OAB is published3Check the generation mailbox4Generate the OAB and check the files5Check the OAB URL and test the download path6Clean up the client and download again4Verify the fix5Prevent it next timeTOOLBOX0x8004010F0x80190194Get-AddressBookPolicyGet-OfflineAddressBookoab.xml
At a glance: how this guide is organised · 6 fix steps · 5 key tools

Symptoms#

In classic Outlook for Windows, Send/Receive › Send/Receive Groups › Download Address Book (or a regular Send/Receive) fails with one of these errors (the name in the first quotes varies and can be the account name):

Text
Task 'Microsoft Exchange Server' reported error (0x8004010F): 'The operation failed. An object could not be found.'

Task 'jane@contoso.com' reported error (0x80190194): 'The operation failed.'
  • The client's OAB folder, %LOCALAPPDATA%\Microsoft\Outlook\Offline Address Books\<GUID>, is empty or contains only old files.
  • Online Mode and Outlook on the web show the global address list correctly. (New Outlook for Windows has no Cached Exchange Mode.)

Why it happens#

On Exchange Server SE and 2019 (2016 works the same way), the OAB goes through four stages:

  1. Generation. The OAB is generated on the Mailbox server that holds the active copy of an organization mailbox with the OAB generation capability. By default that's the arbitration mailbox SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}, whose PersistedCapabilities include OrganizationCapabilityOABGen. The files (an oab.xml manifest plus .lzx data files) are written to %ExchangeInstallPath%ClientAccess\OAB\<OAB GUID> on that server.
  2. Assignment. A mailbox gets its OAB from an address book policy, its own OfflineAddressBook setting, its database's setting, or the organization's default OAB.
  3. Publishing. Autodiscover gives Outlook a URL such as https://mail.contoso.com/OAB/<OAB GUID>/oab.xml, but only for an OAB that's distributed through OAB virtual directories: either globally (GlobalWebDistributionEnabled) or through the directories listed in its VirtualDirectories property.
  4. Download. Outlook downloads the manifest and the files over HTTPS using the Background Intelligent Transfer Service (BITS). The front-end OAB directory proxies each request to the server that holds the files.
ErrorWhat it meansUsual causes
0x8004010FMAPI "not found": Outlook has no OAB it can downloadMailbox, database or policy points to a deleted OAB; OAB not published through any virtual directory; OAB never generated
0x80190194HTTP 404 during the BITS download (hex 194 = 404)OAB files missing on the server; OAB URL naming an old server or the wrong host; damaged OAB virtual directory

How to fix it#

1. Check which OAB the user should get#

PowerShell
$mbx = Get-Mailbox -Identity jane@contoso.com
$mbx | Format-List OfflineAddressBook, AddressBookPolicy, Database
Get-MailboxDatabase -Identity $mbx.Database | Format-List Name, OfflineAddressBook
Get-OfflineAddressBook | Format-List Name, Guid, IsDefault, GlobalWebDistributionEnabled, VirtualDirectories

If an address book policy is assigned, check its OAB with Get-AddressBookPolicy. Each reference must name an OAB from the Get-OfflineAddressBook list. Replace any that don't:

PowerShell
Set-MailboxDatabase -Identity DB01 -OfflineAddressBook "Default Offline Address Book"
Set-Mailbox -Identity jane@contoso.com -OfflineAddressBook "Default Offline Address Book"

2. Make sure the OAB is published#

If GlobalWebDistributionEnabled is False and VirtualDirectories is empty (or lists a directory that no longer exists), Autodiscover has no OAB URL to give Outlook. Global web distribution is the simplest fix. Any OAB virtual directory can then serve the OAB, and nothing needs re-linking when servers change:

PowerShell
Set-OfflineAddressBook -Identity "Default Offline Address Book" -GlobalWebDistributionEnabled $true -VirtualDirectories $null

Use your OAB's name. It can differ in organizations that started on older versions.

3. Check the generation mailbox#

PowerShell
Get-Mailbox -Arbitration | Where-Object { $_.PersistedCapabilities -like "*OAB*" } |
  Format-List Name, ServerName, Database, PersistedCapabilities

What good looks like: at least one mailbox with OrganizationCapabilityOABGen on a mounted database. If nothing comes back, the mailbox is gone, often because an old database was removed without moving it first. Recreate it with Microsoft's procedure (linked below). If it's on a database you're retiring, move it:

PowerShell
Get-Mailbox -Arbitration -Identity "SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}" |
  New-MoveRequest -TargetDatabase DB02

4. Generate the OAB and check the files#

PowerShell
Get-OfflineAddressBook | Update-OfflineAddressBook

On the server named in step 3, open %ExchangeInstallPath%ClientAccess\OAB\<OAB GUID>. By default that's C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\OAB, and the GUID comes from step 1. After a few minutes you should see a new oab.xml and .lzx files with current timestamps. If nothing changes, check that server's Application log for errors that mention OAB generation. Restarting the Microsoft Exchange Mailbox Assistants service also triggers generation; do that out of hours.

5. Check the OAB URL and test the download path#

PowerShell
Get-OabVirtualDirectory -ADPropertiesOnly | Format-Table Server, InternalUrl, ExternalUrl -AutoSize

Every URL must use a name that's on your certificate and resolves to a current server or load balancer. Admins have traced 0x80190194 to OAB URLs that still pointed at an old, not fully decommissioned server. Fix those first (see setting virtual directory URLs), then test the path Outlook uses:

  • Hold Ctrl, right-click the Outlook icon in the notification area and choose Test E-mail AutoConfiguration. Clear the Guessmart boxes and run the test. The Results tab should show an OAB URL. If it doesn't, go back to steps 1 and 2.
  • Open https://mail.contoso.com/OAB/<OAB GUID>/oab.xml in a browser on the client. After you sign in, you should see the XML manifest. A 404 here is exactly what Outlook reports as 0x80190194. If sign-in fails instead, check the directory's authentication or your load balancer.

6. Clean up the client and download again#

  1. Close Outlook and delete the contents of the client's Offline Address Books\<GUID> folder.
  2. Make sure the Background Intelligent Transfer Service isn't disabled on the PC.
  3. Start Outlook and choose Download Address Book. Clear Download changes since last Send/Receive, keep Full Details and click OK.

Verify the fix#

PowerShell
# On the server that generates the OAB
$oab = Get-OfflineAddressBook -Identity "Default Offline Address Book"
Get-ChildItem (Join-Path $env:ExchangeInstallPath "ClientAccess\OAB\$($oab.Guid)") |
  Sort-Object LastWriteTime -Descending | Select-Object -First 5 Name, LastWriteTime
  • The newest files have today's timestamps.
  • The oab.xml URL opens in a browser on a client.
  • A manual download finishes without an error, and the client's OAB folder now has .oab files dated today.
  • A mailbox created after the fix appears in the cached-mode address book after the next generation and download.

Prevent it next time#

  • Before you remove a database or decommission a server, move every arbitration mailbox off it, including the OAB generation mailbox.
  • Use global web distribution, so a rebuilt OAB virtual directory doesn't leave the OAB unpublished.
  • Keep OAB URLs on your shared namespace, never on server names.
  • The OAB is generated on a schedule and Outlook downloads it periodically, so a new mailbox can be missing from cached-mode address books for a while. Test with a manual download.

References#

Written and checked against current Microsoft Learn documentation. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

Written by

Omer Eltayeb

Intune Subject Matter Expert in Cairo, Egypt, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Configuration Manager, Microsoft Entra ID, Microsoft Defender, Exchange and Microsoft 365 with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)