Nov 062017
 

After doing a migration from Microsoft Exchange 2013 to Exchange 2016 I noticed that my Offline Address Book (OAB) wasn’t being made available to Outlook clients.

When trying to perform a manual download (Send and Receive -> Download Address Book), it wasn’t in the list. Also when using the “Test EMail AutoConfiguration..” (by holding CTRL and right click on Outlook System Tray icon) to examine the AutoDiscover information, there was no OAB URL (OABUrl in XML) being sent to the clients.

I spent 3 hours trying to find out why this was happening (I assumed it was configuration and/or IIS authentication related). All my virtual directories and URLs were fine, and the OAB was being generated fine without any issues. It simply wasn’t being passed to Outlook clients. I couldn’t find any references of this occurring to other users.

I finally discovered that the “WebDistributionEnabled” configuration flag was marked to False, when it needs to be marked as True. This flag when set to true, allows it to be distributed (Note/Fun Fact: There’s a separate and different flag for older Exchange versions where the OAB is inside of the Public Folder Store). There’s also a different flag “GlobalWebDistributionEnabled”, which is recommended to be enabled as well on Exchange 2016. When setting this second flag to True, it also sets the first one above to True as well.

To fix it we’ll use Exchange PowerShell:

Let’s find the name of your Offline Address Book by running the command below:

Get-OfflineAddressBook

Exchange Offline Address Book Get-OfflineAddressBook

Now let’s set the “GlobalWebDistributionEnabled” flag to True using this next command:

Set-OfflineAddressBook -Identity “Default Offline Address Book (Ex2016)” -GlobalWebDistributionEnabled $true

Set Offline Address Book Microsoft Exchange 2016 Default Set-OfflineAddressBook

And finally let’s confirm to make sure the changes take effect and look for the values of “GlobalWebDistributionEnabled” and “WebDistributionEnabled” using the command:

Get-OfflineAddressBook | fl

Get-OfflineAddressBook WebDistributionEnabled GlobalDistributionEnabled

 

After making the above changes I recommend issuing an “iisreset” or restarting your Exchange Server. There will also be a delay where you’ll need to wait for your Outlook clients to refresh their autodiscover configuration. You can run the “Test Email AutoConfiguration…” to see if the OAB is now being passed to your clients.

  54 Responses to “Offline Address Book Missing on Exchange 2016 clients”

  1. Thank you Stephen. None of the other “fixes” fixed this. Yours did!

  2. That did the trick for me too!

    Thanks Stephen.

  3. Thanks a lot for the info. I scratched my head a lot on this one.
    I can supply the following bonus info. When the WebDistribution isn’t activated after a migration the Outlook client will receive this not very helpful error, when trying to download the OAB:
    “Task ” reported error (0X8004010F): ‘The operation failed. An object cannot be found.”
    Enabling WebDistribution again fixed the problem, and the OAB could again be downloaded.

  4. worked like a charm!
    thanks.

  5. Thanks a lot my man! The amount of articles I have read before finding yours. Such a simple fix. Why it was turned off in the first place is a mystery.

  6. Glad it helped!

    I think it’s just from upgrade after upgrade after upgrade, and maybe it was forgotten and left behind .

    Cheers!

  7. Just want to say thanks for this. I migrated from Ex 2013 to Ex 2019 and couldn’t figure out why my OAB wasn’t downloading!! Cheers

  8. This post is awesome. Like others, I stumbled upon it after researching the 0X8004010F error for a couple hours. I suspect this problem is widespread, and other Exchange shops are resolving the problem by creating a new Offline Address Book instead of using this simple fix to the current OAB. I suggest adding the text of the 0X8004010F error to your original post so that it is picked up quicker by Search Engines: 0x8004010F : The operation failed. An object cannot be found.

  9. Thanks David! Appreciate you posting the error code!

  10. That worked for Us. I just waited for the GAL to update in the middle of the night. Checked it the next morning and no Error message when downloading the GAB in Outlook Clients and everyone else updated automatically. As a Bonus, this also fixed the issue of Users unable to Send As in Outlook Client Cache Mode when they have the Authority in a Distro Group. Many Thanks!

  11. This post save my A**! Thanks you! I have been trying to figure out for months why the OAB looked good on the server but none of the clients could update it. Once I found out it was not showing up in the Autodiscover.xml, my search brought me here. Again, a big thank you for posting this information for everyone to see!

  12. Thank you. Our cause was different (disaster recovery, basically), but this gave me the information I needed to discover how to fix it. Thanks

  13. Ran into the same issue after upgrading from Exchange 2013 to 2019. The OAB by default had these parameters set to false and after awhile end users running in Outlook cached mode had address list issues. Thanks for sharing.

  14. Thank you very much.
    It works for me.

  15. Enabling GlobalWebDistribution (which also enables WebDistribution as you stated) did the trick. Can’t tell you how many other places I looked for this solution. Many thanks!

  16. I had the same issue going from Exchange 2013 to Exchange 2019. Once we removed the old exchange 2013 Server and we had to do it through ADSIEDIT because it would not uninstall we lost client connectivity to the GAL. I ran the commands above, Did an IIS reset waited 20 Min and it began working again. Thank you for posting this as I spent 1/2 my day trying to get this to work..

  17. Great Job.

    It works for us perfectly fine.

  18. Thank. You.

  19. Thank you.. You just saved me !!

  20. Thank you very much, worked like a charm! Glad you found the needle in the hay stack and shared the solution with the world.

  21. Excellent job, thank you – have been working on this for days! We had an external company come in and migrate from exchange 2013 to 2016 for us (I’m a noob). Seems the clients without caching enabled (RDS users mainly) were all fine, seeing new address book entries appearing as we add accounts. But, our remote users and desktop clients using caching mode were not updating. Just the one option changed ‘WebDistributionEnabled’ and all working again.

    Do find that an address book download after this sometimes still doesn’t work, but running the ‘Test email configuration’ option (for those that don’t know, CTRL and right click the outlook system tray icon), and then trying the download works a treat!

    Thanks again!

    Rob

  22. Hi Rob,

    I’ve noticed tons of odd delays with OABs. So if you see sometimes it not working, give it 24-48 hours to see if it starts behaving.

    Cheers

  23. Hello Stephen,
    your post worked like a charm in the environment which i had just migrated over from 2016 and they had OAB issues.

    yours was the first resolution and it did work..

    Thank you for the awesome work..!!

    Regards,
    Prashant D

  24. Amazing, it worked as indicated !

    Crazy how Microsoft doesn’t show any first Google search solution and it has to be the community 🙁

    Thanks!

  25. Thanks, this worked for me!

  26. This saved me a lot of time. Thanks a lot.

  27. Thanks Stephen for the easy trick that helped many guys including me.
    I wanted to add few more points here that may help other users who are seeking help on this common issue after migrating from Exchange 2013 to Exchange 2019.

    If you guys have virtual directory parameter set,already, please make sure that use -Virtualdirectory null parameter before enabling the global distribution this will make the all mailbox servers virtual directory to process OAB request. (Set-OfflineAddressBook -Identity “Default Offline Address Book” -VirtualDirectories $null -GlobalWebDistributionEnabled $true)

    In my case problem solved after enabling global web distribution, looks like it is kind of mandatory and only enabling web distribution alone won’t help. Also I strongly recommend to reboot the server where OAB arbitration mailbox hosted as well as recycle the both autodiscover & OAB app pools on all the remaining Mailbox servers.

    Make sure that OAB URL is appearing in the Outlook test connectivity and that is accessible from the browser (https://abc.com/oab/0e4ca5b4-2be4-44c8-9e78-0ac88dc6792a/OAB.xml) you can able to access.

    Thanks Stephen for this article which did the trick even MS support didn’t catch it in first place

  28. Thank you… !! this saved me as well. For me, the WebDistributionEnabled was set to true, however the GlobalWebDistributionEnabled was set to False. My issue started after the latest CU update. Running this command fixed the issue (Set-OfflineAddressBook -Identity “Default Offline Address Book” -VirtualDirectories $null -GlobalWebDistributionEnabled $true … I did also do an iisreset and recycled both the OAB and Autodiscover App Pools, took about 5 mins and then was able to download the OAB again.

  29. So, just wondering what is the point of the Virtual Directory if it blocks for the OAB updating properly on clients? Is there any negative consequence in setting it to NULL?

    Thanks.

  30. As far as I know IIS distributed the OAB via the Virtual Directories. They are needed to distribute.

    Setting it to Null and enabling (setting to true) Globally enables distribution.

  31. Works fine, we use Exchange 2013 CU 23 and I did have issues with offline address book on our clients, but this solved my problems.
    I had to run this command:

    Set-OfflineAddressBook -Identity “Default Offline Address List (xxxxx)” -VirtualDirectories $null -GlobalWebDistributionEnabled $true

  32. Same here, for those who search and come here, we’re using Exchange 2013, update to CU23 then patch March 2021 vulnerable during the first week of March.
    OAB stop updates all Outlook 2016 clients since.
    Exchange OAB shows health, Outlook “Test Email AutoConfiguation” missing the OAB address, and Error 0x8004010F when manual update.
    Run the command as Martin in the above comment to enable the GlobalWebDistributionEnabled, then restart the Exchange server to correct the OAB address missing.
    Also, please go to Exchange Admin Center – Servers – Virtual Directories – OAB to make sure the internal address is correct. Update/Patch change it to our default Exchange name.

  33. After installing CU23 and the security updates to patch the Hafnium exploit my OAB stopped working like described above. I was concerned that Microsoft may have intentionally disabled it in this way to protect against Hafnium so I was reluctant to fix it. After researching I decided to apply the above fix and it indeed fixed my OAB issues. I can also happily report that my Exchange server is still protected from the Hafnium exploits. I used Nessus to scan my exchange server from an outside address to verify that my server was not vulnerable.

  34. Hi Marcus! Glad to hear it helped! Thanks for posting!

  35. Hi
    Could you explain me what does it mean: “Enabling WebDistribution” ? How can I do it on Exchange 2016.
    PowerShell command Set-OfflineAddressList has only switch -GlobalWebDistributionEnabled.

    My question concern this post:
    “I can supply the following bonus info. When the WebDistribution isn’t activated after a migration the Outlook client will receive this not very helpful error, when trying to download the OAB:
    “Task ” reported error (0X8004010F): ‘The operation failed. An object cannot be found.”
    Enabling WebDistribution again fixed the problem, and the OAB could again be downloaded.”

  36. Hello. For me the problem was the VirtualDirectories attribute from get-offlineaddressbok. It was set to {server\OAB (Exchange Back End)} instead of {server\OAB (Default Web Site), server\OAB (Exchange Back End)}. I changed the attribute back to it’s normal value (compared with our test server), restarted the OAB and autodiscover pools then restarted my Outlook client. Problem solved.
    I must mention this value change was likeky due to a beginning of hafnium exploit. It occured just before I applied the CU20 update. I also had to change the InternalUrl and ExternalUrl attributes that were set to an abnormal value. According to MS scripts, the exploit didn’t went further.

  37. Brilliant…. Thank you

  38. Set-OfflineAddressBook -Identity “OAB name” -GlobalWebDistributionEnabled $true -VirtualDirectories $null

    solved our problem with error (0x8004010F).

    Thanks !

  39. hi.. i set Set-OfflineAddressBook -Identity “OAB name” -GlobalWebDistributionEnabled $true -VirtualDirectories $null. i have restarted exchange server and also iisreset. but still cannot download offline address book. it different error came out “Unknown Error 0x80072F06”. i research on this error but couldnt find anything. can please help ?

  40. Hello,

    That error appears to be related to an OST file. You might be having problems with that instead of OAB.

    Maybe try deleting the OST cache file, and local copy of the Outlook profile and resync?

    Cheers
    Stephen

  41. hi Stephen,

    Have try your ways and already did bunch of testing but no luck at all.. I even created a new OAB and add into different database, also no luck. Dont know what is happening..

  42. Hi Kenji,

    The error is pretty generic. Unfortunately I’m not familiar with your environment at all, the configuration, or potential issues. So unfortunately I don’t know what is happening with your environment. You’ll need to troubleshoot the errors, diagnose, and check for any misconfigurations or problems, and then troubleshoot from there.

    Cheers,
    Stephen

  43. Your solution was brilliant. Thank you

  44. hi.. i tried your way but now getting error “Unknown Error 0x80072F06” while trying to download address book.

  45. The information you put out on your blog is awesome. The way you document the issue and lay out the steps are very easy to follow. I have found myself on your blog a handful of times and always find your posts helpful. Thank you

  46. Thank you for this! I just had to migrate a 2013 server to new hardware and couldn’t figure out why the OAB was not found. Everyone else seemed to suggest complicated fixes or just recreating the OAB, but simply enabling Web Distribution fixed it! Also, I did not have to restart. I just waited and checked the next morning and now I see OABUrl in the Autodiscover results.

  47. Kenji, did you ever figure this out? I’m seeing the exact same issue after applying the fix on all the outlook clients at a site I support.

    “hi.. i set Set-OfflineAddressBook -Identity “OAB name” -GlobalWebDistributionEnabled $true -VirtualDirectories $null. i have restarted exchange server and also iisreset. but still cannot download offline address book. it different error came out “Unknown Error 0x80072F06”.

  48. Thank you man, your information helped me .. you have to restart the exchange server after the change

  49. Legend, Stephen! Your fix resolved our OAB issues after migrating from EX2013-EX2019 Many thanks!

  50. Many thanks, It’s work !!!!

  51. You are the man! Worked like a charm! This is the ONLY article I came across that mentioned this. All other articles were talking about misconfigured Virtual Directories and recreating the OAB. I had a feeling that it wasn’t any of those, and I was right. Thank you very mucho!

  52. It worked like a charm for me too! GENIUS! Thank you so much!

  53. I found this issue while running Exchange 2013 CU23 and Exchange 2016 CU23 for hybrid migration.
    None of the arbitration mailboxes would migrate to the Exchange 2016 server and I had to call Microsoft. They used a set command to rehome them to the EX2016 database. After that, I tried to set the offline address book to Global web distribution but, but was also met with the virtual directories error. My old 2013 OAB was pointed to a CASSERVER\OAB (Default Web Site).
    I used the command Set-OfflineAddressBook -Identity “OAB” -GlobalWebDistributionEnabled $true -VirtualDirectories $null reluctantly, but it took the command and I could the virtual directories had changed to Null.
    Then noticed the last touched time on the OAB was updated to current date/time.
    I checked the OAB directory $Exchange InstallPath$\clientaccess\OAB and the OAB guid directory was created with the need sub files. Used an Outlook 2016 client to download OAB successfully.

  54. Awesome, glad the post helped! 🙂

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)