Exchange 2007/2010 Offline Adressbücher

Exchange 200/2003 nutzt einen etwas anderen Prozess: Siehe Exchange Offline Adressbuch anlegen.

Exchange 2007 und Outlook 2003 nutzen einen neuen Weg, um Adressbücher auch "Offline" zur Verfügung zu stellen. Alle früheren Versionen von Outlook haben das Offline Adressbuch aus einem öffentlichen Ordner geladen, in welchen der OABGEN-Prozess von Exchange die Datenbereit gestellt hat

Mit Outlook 2007 und besonders Exchange 2007 hat sich die Bedeutung von öffentlichen Ordnern derart geändert, dass öffentlichen Ordner nicht mehr zwingend erforderlich sind. Damit entfällt natürlich auch der Systemordner, in dem bislang diese Daten bereit gehalten wurden.

Leider hat Microsoft nicht den Weg gewählt, dass Outlook direkt über einen Webservice die Daten individuell beziehen kann, sondern auch mit Exchange 2007 werden entsprechende Adressbücher "generiert" und bereit gestellt. Diese Seite beschreibt den Bereitstellungsprozess genauer.

Unterstützung durch Net at Work:
Wir können Ihnen bei der Konfiguration und Fehlersuche gerne helfen.

Vom SA zum Outlook Client

Der Prozess zur Bereitstellung eines Offline Adressbuch in Exchange 2007 ist nicht komplizierter als bei Exchange 2003 aber bezieht mehrere Systeme mit ein. Schließlich muss das Offline Adressbuch ja auch ohne öffentliche Ordner auskommen und eine Verteilung an mehrere CAS-Server unterstützen.

Folgende Schritte werden dabei durchlaufen:

Schritt Beschreibung
Die Systemaufsicht startet regelmäßig den Prozess zur Offline Adressbuch Aktualisierung. Der Prozess liest die Objekte der jeweiligen Adressliste per LDAP aus dem Active Directory aus
Das Ergebnis wird je nach Konfiguration in die entsprechenden öffentlichen Ordner und in das Dateisystem geschrieben. Das Verzeichnis lautet "%ProgramFiles%\Microsoft\Exchange Server\ExchangeOAB\%guid%"
Dieses Verzeichnis wird vom Server als "ExchangeOAB" frei gegeben.

Auf allen Client Access Servern läuft der "Microsoft Exchange File Distribution Service" (FDS). Dieser Prozess holt sich die Adressbuchdateien vom generierenden Server und überträgt diese in das Verzeichnis %ProgramFiles%\Exchange\ClientAccess\OAB auf dem CAS-Server. Die passiert per Default alle 8 Stunden, kann aber geändert werden.

Get-OabVirtualDirectory | Set-OabVirtualDirectory -pollinterval 240

Dieses Verzeichnis ist über den installierten IIS unter der URL "/OAB" frei gegeben.

Während Outlook 2003 und älter immer nur die Adressbücher aus den öffentlichen Ordnern kopieren kann, ist Outlook 2007 die erste Version, welche auch per HTTP die Adressbücher 

Die Zusammenhänge werden als Bild etwas deutlicher: 

Exchange 2007 OAB Generierung und Verteilung

Im Gegensatz zu Exchange 2003 und früher wirken bei der Exchange 2007 Version mehrere Komponenten zusammen, die letztlich alle funktionieren müssen, damit die die Anwender ein aktuelles Adressbuch nutzen können

Einstellungen in der Exchange System Console

Die Verwaltung der Offline Adressbücher ist eine organisationsweite Konfiguration: 

OAB Verwaltung in der MMC

Pro Offline Adressbuch können Sie den Zeitpunkt der Generierung definieren und welche Versionen erstellt werden können. 

OAB Zeitplan OAB Verteilung und Versionen

Nachdem der Exchange Server das OAB generiert hat, findet man die entsprechenden Dateien im Verzeichnis.

OAB-Dateien nach der Generierung

Dieses Verzeichnis ist mit dem Namen "ExchangeOAB" freigegeben. Die Berechtigungen erlauben nur einen Vollzugriff für für Administratoren und System. Die "Exchange Servers" haben nur "Lesen"

ExchangeOAB Freigabe

Der Exchange File Distribution Service auf den konfigurierten CAS-Servern steht auf Automatisch und sollte gestartet sein

File Distribution Service

Und nach kurzer Zeit finden Sie eine Kopie der Dateien im Verzeichnis auf der CAS-Rolle: 

OAB-Verzeichnis

Sollten die Dateien dort nicht aktuell sein, dann können sie zwar Auch den "File Distribution Dienst" auf dem CAS durchstarten, aber einfacher ist ein Commandelt:

Update-FileDistributionService CASServer -type oab

Und eben dieses Verzeichnis sollten Sie auch auf der Default Webseite als virtuelles Verzeichnis wiederfinden.

OAB Virtual Directory im IIS

Wenn Sie also mehrere Webserver auf einem System betreiben, dann sollten Sie darauf achten, dass ihre Clients auch den "richtigen" Webserver erwischen. Im IISLog kann man wunderbar sehen, wann welche Clients die OAB-Dateien herunterladen.

Besonderheiten

Damit ihre Server ebenfalls korrekt ein Offline Adressbuch erstellen kann, sollten Sie folgendes beachten.(Eigene Erfahrungen und Supportfälle)

Als Best Practice kann man daher sagen;

CCR und OAB

Wenn Sie keinen eigenen "Single Mailbox Server" haben, dann muss der CCR-Cluster auch das "Offline Adressbuch" erzeugen., Das tut er per Default aber nicht. Das OAB wird ja als Datei in einem Verzeichnis erzeugt und nutzt dabei vorher schon vorhandene Dateien. Da der CCR keine "Shared Disk" hat, hat nach einem Failover der andere Knoten diese Dateien nicht mehr und kann daher das Adressbuch nicht erzeugen. Das Eventlog meldet dies aber (Hinweis: Überwachen Sie ihre Eventlogs ?)

Sie müssen also über einen Registrierungsschlüssel bestimmen, welcher der CCR Knoten "bevorzugt" das OAB generiert.  

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeSA\Parameters\OABGen-Server]
"EnableOabGenOnThisNode"="NODENAME"

Ist dieser Knoten dann nicht aktiv, dann werden keine OAB Updates mehr generiert, bis der Server wieder auf dem ursprünglichen Knoten läuft oder Sie die Konfiguration anpassen.

CCR und Windows 2008

Windows 2008 ist per Default "sicherer" und sorgt dafür, dass man nur auf Freigaben zugreifen kann, die auch als Cluster Ressource bereit gestellt werden. Nun ist aber die OAB-Freigabe keine Cluster Ressource sondern eine Freigabe des lokalen Knotens. Die CAS-Server versuchen sich aber mit dem virtuellen Servernamen zu verbinden und scheitern. Dies ist aber seit SP1Rollup5 gelöst.

Wichtiges Rollup5 für CCR auf Windows 2008 mit OAB Generierung
954197 Exchange 2007 CAS cannot copy the OAB from the OAB share on Windows Server 2008-based Exchange 2007 CCR Clusters

OAB, 64k und Event 9321

Das Offline Adressbuch ist auf 64k pro Benutzer limitiert. Das kann dazu führen, dass Benutzer mit umfangreicheren Informationen gar nicht mehr in das Offline Adressbuch aufgenommen werden. Im Eventlog findet sich dann ein Eintrag

Ereignistyp:	Error
Ereignisquelle:	Application
Ereigniskennung:9321
Beschreibung:

OALGen could not generate full details for entry '%1' in address list '%2' 
because the total size of the details information is greater than 64 kilobytes.

Dies hatte ich selbst schon mal bei einem Kunden erlebt, bei dem ein Anwender sehr viele Zertifikate erhalten hat und im AD dann die passenden "Public Keys" veröffentlicht wurden.

Weitere OAB-Fehler

Microsoft hat ein Testprogramm "OABValidate.exe", welches leider kein öffentlicher Download ist. Aber oft ist eine unterbrochene Vererbung auf Benutzern oder Gruppen ein Problem. Exchange 2007/2010 hat dann nicht genug Rechte um die Verteiler oder Benutzer aufzulösen, so dass diese in der GAL fehlen, aber per OWA oder "online" mit Outlook sichtbar sind. Prüfen Sie das Eventlog und die Exchange-Objekte diesbezüglich.

Weitere Links

Tags:E2K7 OAB OABGen