Exchange: Offline Adressbuch kann nicht heruntergeladen werden – 0x8004010F
Verwendet man Outlook im Cache Modus, wird auch immer ein Offline Adressbuch (OAB) zur Synchronisierung aller relevanten Adresslisten und somit auch ActiveDirectory-Objekten heruntergeladen. Sollte das OAB nicht heruntergeladen werden können und der Prozess mit dem Fehler 0x8004010F quittiert werden, könnte dir dieser Artikel weiterhelfen. Doch fangen wir von vorne an.
OAB – Objekt kann nicht gefunden werden
Das Problem ist aufgetreten, nachdem der Exchange2010 in erster Linie zu einem Exchange2016 und nachfolgende auf Exchange2019 migriert wurde. Bei diesem Prozess wird auch ein neues OfflineAddressBook (OAB) generiert, welches die Verteilung der Adresslisten ab EX2013 übernimmt. Nutzern ist es mit der Zeit aufgefallen, dass sie teilweise fehlerhafte und unvollständige Adresslisten innerhalb Ihres Outlooks hatten. Das Fehlerbild sieht dabei wie folgt aus:
- Outlook mit aktiviertem Cache hatten Probleme, das OAB abzurufen
- Outlook ohne Cache hatten keinerlei Probleme
- Öffnet man das OWA, funktionierte es auch tadellos
Im ersten Schritt sollte man einen manuellen Download des OABs anstoßen. Dazu öffnet man im Outlook den Reiter „Senden/Empfangen“ und ruft im „Senden-Empfangen-Gruppen“ Menü den Unterpunkt „Adressbuh herunterladen“ auf. Dieser Prozess wird relativ schnell durch die Fehlermeldung „Fehler (0x8004010F) beim Ausführen der Aufgabe: Ein Objekt kann nicht gefunden werden.“
Als nächstes sollte man untersuchen, ob dem Client überhaupt ein OAB vom Autodiscover zur Verfügung gestellt wird. Dazu klickt man mit STRG + rechter Maustaste auf das Outlook Tray Icon und wählt „E-Mail Autokonfiguration testen“ aus. Im nachfolgenden Fenster kann man mithilfe von Outlook den Autodiscover Service des Postfaches überprüfen. Ist der Vorgang abgeschlossen, sollte man im XML Reiter relativ weit unten den Eintrag „<OABUrl>https://mail.customer.de/OAB/id</OABUrl>“ auffinden können. Sollte das nicht der Fall sein – wie es auch dieser Artikel weiter behandelt – wird vom Exchange kein OAB announcet.
Die Problemlösung
Nachdem das OAB nicht vom Exchange korrekt an den Client vermittelt wird, können wir die Suche auf den Server verlagern. Es spielen wie so oft mehrere Parameter mit, daher sollte man zuerst überprüfen, ob das jeweiligen Adressbuch auch als „Default“ angelegt wurde:
[PS] C:\Windows\system32>Get-OfflineAddressBook | select Name, IsDefault Name : Standard Offlineadressbuch (Ex2013) IsDefault : True
Wenn das der Fall ist, kann man mit dem nächsten Befehl überprüfen, ob das OAB korrekt mithilfe des Autodiscover verbreitet wird:
[PS] C:\Windows\system32>Get-OfflineAddressBook | select Name, VirtualDirectories, *web* Name : Standard Offlineadressbuch (Ex2013) VirtualDirectories : {} GlobalWebDistributionEnabled : False WebDistributionEnabled : False
Und genau hier hat sich der Fehler eingeschlichen. Exchange kennt nämlich zwei Optionen, um das OAB an den Client weiterzugeben:
- Option 1: Man definiert, welche Virtual Directories dazu berechtigt sind, dass Clients es abfragen um das OAB herunterzuladen.
- Option 2: Man erlaubt grundsätzlich allen Virtual Directories den Download und Exchange übernimmt die weitere Zuweisung automatisch.
Microsoft empfiehlt in ihrem Microsoft Docs Artikel grundsätzlich, Option 2 anzuwenden. Ich möchte euch aber trotzdem beide Wege zeigen:
Option 1 – Virtual Directories definieren
Man fragt zuerst all seine OAB Pfade ab:
[PS] C:\Windows\system32>Get-OabVirtualDirectory | fl Server,Name Server : EX01 Name : OAB (Default Web Site) Server : EX02 Name : OAB (Default Web Site)
Und setzt anschließend mit folgendem Befehl die Zuweisung für das jeweiligen Offline Addressbook:
[PS] C:\Windows\system32>Set-OfflineAddressBook "Standard Offlineadressbuch (Ex2013)" -VirtualDirectories "EX01\OAB (Default Web Site)","EX02\OAB (Default Web Site)"
Sollte ein weiter Exchange Node hinzukommen, muss das Offline Adressbook natürlich dementsprechend erweitert werden.
Option 2 – Alle Directories erlauben
Mit folgendem Befehl übergibt man die Verantwortung an Exchange und das ist auch seitens Microsoft die präferierte Lösung:
[PS] C:\Windows\system32>Set-OfflineAddressBook "Standard Offlineadressbuch (Ex2013)" -GlobalWebDistributionEnabled $true
Nun kann man, um den Prozess etwas zu beschleunigen mittels „iisreset /restart“ den IIS neustarten und sollte nach wenigen Minuten beim Autodiscover Test auch tatsächlich das OAB zurückgeliefert bekommen.
Und wenn die Zeile <OABUrl>https://mail.customer.de/OAB/id</OABUrl> da ist? Was muss dann gemacht werden?
In dem Fall weiß man zumindest, dass das OAB mittels Autodiscover an die Clients verteilt wird. Die nächsten Schritte hängen vom Problem ab. Ist das OAB nur bei einigen Clients nicht vorhanden? Dann handelt es sich schon einmal um kein global Problem und die Fehlersuche kann auf die jeweiligen Postfächer beschränkt werden.
Anschließend müsste man feststellen, ob das Problem bei den besagten Postfächern immer auftritt oder nur auf speziellen Clients.
Man sollte also vorab die Fehlerquellen etwas einschränken, dann kann man gezielter suchen.
Vielen Dank, das war sehr hilfreich fuer mich!
Habe alles so gemacht, leider kommt der gleiche Fehlercode erneut.
Iis habe ich neu gestartet. OAB taucht nun auch bei dem Test auf, was es vorher nicht tat. Trotzdem kann ich das Adressbuch nicht herunterladen. Irgendwelche andere Vorschläge?
Problem hat sich nach Neustart gelöst, hatte zwar den Dienst bereits neu gestartet ohne Erfolg, aber nach dem Neustart des Servers ist wieder alles gelaufen.