Active Directory Connector Advanced

Wenn Sie verstanden haben, was der ADC bewirkt und benötigt und sie die Probleme nicht abgeschreckt haben oder sie einfach nur mehr über den ADC und seine Funktion wissen wollen, dann ist diese Seite für Sie vielleicht interessant.

Kleine Vorbemerkung: Viele Informationen hier sind nur im komplexen Kontext umfassend zu verstehen und sollen Sie nur die die Thematik (oder soll ich Problematik sagen ?) einführen. Die Funktion des ADC und der Einsatz ist ab einer bestimmten Größe außerordentlich Komplex und diese Seiten können daher nie vollständig die Thematik behandeln. Durch die Enge Verzahnung des ADC mit dem Active Directory sind ebenso Belange des AD (Replikation etc.) zu berücksichtigen, auf die ich hier nicht weiter eingehe. Wer Exchange 2000 betreibt muss ein entsprechendes Wissen über das Active Directory einfach mitbringen.

Technische Funktion des ADC

Wir wissen nun, dass der ADC zwischen Exchange 5.5. und dem Windows 2000 AD Daten austauscht. Dies führt er über das Protokoll LDAP aus. Damit ist auch klar, dass der ADC per TCP/IP mit beiden Systemen kommunizieren muss. Weiterhin wissen wir, dass auf einem System ein Port nur genau einmal belegt werden kann. Daher kann ohne Anpassungen ein Exchange 5.5 Server nicht den LDAP-Port belegen, wenn er auf einem Windows 2000 Server installiert ist, der ebenso Active Directory Controller ist.

Am einfachsten geht es, wenn sie den ADC auf dem Domain Controller installieren und über das Netzwerk eine Verbindung zum zweiten Server (Windows NT4 oder Windows 2000 Member Server) mit Exchange 5.5.

Sie können auch Exchange 5.5. beibringen, einen anderen Port für LDAP zu verwenden und dies beim ADC entsprechend angeben.

Der ADC kann mehrere Verbindungsvereinbarungen einrichten (Siehe auch ADC CAs):

Je nach Umgebung kann es sinnvoll sein, mehrere Verbindungsvereinbarungen zu verschiedenen Servern einzurichten bzw. nur Teile zu replizieren. Sie machen Sich das leben am einfachsten, wenn sie einen ADC im Unternehmen nutzen um Ihre Exchange 5.5. Organisation mit Exchange 2000 und dem Active Directory zu verbinden.

Wie werden Felder repliziert ?

Das Active Directory kennt eine Replikation "pro Feld", d.h. wenn auf zwei Servern zwei Administratoren das gleiche Objekt aber unterschiedliche Felder bearbeiten, dann ist das Ergebnis am Ende, dass beide Änderungen übernommen werden. Exchange 5.5. hingegen repliziert immer nur auf Objektlevel. Ändern hier zwei Administratoren unterschiedliche Felder den gleichen Benutzer auf verschiedenen Servern (z.B. Telefon und Ort) dann gewinnt die letzte gesamt Änderung, da immer das komplette Objekt repliziert wird.

Für den ADC hat dieses Verhalten auch eine wichtige Bedeutung, da der ADC ebenfalls Änderungen durchführt. Zum einen kann der ADC nur auf "Änderungen" prüfen, indem er die USN kontrolliert. Findet sich ein geänderter User im Exchange 5.5. Directory, dann kann er nicht ermitteln, welches Feld sich geändert hat und repliziert den kompletten Benutzer (mit einigen Ausnahmen).

In die andere Richtung kann sich zwar ein Eintrag im Active Directory ändern und der ADC aktualisiert nur dieses Feld im Exchange 5.5, aber Exchange 5.5. repliziert intern das komplette Objekt weiter. Neben dem höheren Replikationsverkehr besteht in Exchange 5.5 immer auch das Risiko von Konflikten, die dann automatisch (vielleicht falsch) gelöst werden.

Zu dem "Wie werden Felder repliziert" gehört natürlich auch die Frage, welche Felder der ADC überhaupt miteinander verbindet. Hierzu gibt die Dokumentation zum ADC aber auch die diversen Konfigurationsdateien im ADC-Quellverzeichnis Auskunft. So finden Sie in der LOCAL.MAP sehr genau, welche Felder von Exchange 5.5 auf welche Felder des Active Directory repliziert werden. Lassen Sie sich nicht davon stören, dass das Format ungewohnt ist und von NT5 und EX5 die Rede ist.

Sie können die Zuordnungen und die zu replizierenden Felder natürlich auch selbst anpassen. Allerdings sollten Sie dann schon genau die Auswirkungen kennen, denn Sie können damit nicht nur die Exchange Funktionalität empfindlich stören, sondern auch ihre eigenen Daten ziemlich durcheinander würfeln. Eine SID als Telefonnummer ist vielleicht noch ein kosmetischer Fehler aber spätestens wenn die Mailadressen durch Gruppenmitgliedschaften überschrieben werden, sind Sie zu weit gegangen.

Dass die Replikation pro Feld nicht die ganze Wahrheit ist, sehen Sie z.B. am KB-Artikel 841653. Hier ist beschrieben, dass Änderungen am Benutzer nicht immer den Verteiler zur Replikation bringen und eine Änderung des Felds "Notes" bei einem Verteiler dafür sorgt, dass der komplette Verteiler wieder nach Exchange 5.5 repliziert wird.

Deaktivierte Benutzer im AD (MSExchangeMasterAccountSID)

Deaktivierte Benutzer haben eine besondere Funktion in einer Exchange 2000 Umgebung. Exchange 2000 muss mangels einer eigenen Verzeichnisdatenbank alle Informationen im Active Directory speichern. Allerdings ist es schon fast normal, dass nicht alle Benutzer automatisch auch das Konto im Active als Anmeldekonto nutzen. Es wird immer Benutzer geben, die sich in einer NT4 Umgebung oder einem anderen Windows 2000 Forrest anmelden und daher nur die Postfachfunktion benötigen. Dann braucht Exchange trotzdem das Konto zur Ablage der Konfigurationsinformation. Der ADC macht hier schon alles richtig, da er das Konto anlegt, deaktiviert und die Rechte passend einträgt. Sie dürfen nur nicht den Fehler machen, nun an diesem Platzhalterkonto "rumzuspielen". Wird das Konto mit der MMC "aus versehen" aktiviert, dann werden Einträge des ADC gelöscht (z.B. MSExchangeMasterAccountSID) aber beim deaktivieren nicht wieder gesetzt und das Postfach ist nicht mehr erreichbar.

Ein besonderer Fall ist das Bereitstellen von Exchange für Personen, die keinen Anmeldekonto in einer vertrauten Domäne haben. Hier ist das Konto dann wieder zu aktivieren, damit Exchange die Rechte und Kennworte prüfen kann.

TwoWay und OneWay CAs

Immer wieder gibt es Fragen, was der interne Unterschied zwischen einseitigen und bidirektionalen zweiseitigen Verbindungsvereinbarungen ist.

Die erste Antwort ist einfach: Einseitige Verbindungsvereinbarungen replizieren die Daten immer nur von einem System zum anderen. Das Quellsystem wird NICHT beschrieben. Das Zielsystem ist quasi "Slave". Änderungen am Zielsystem werden aber nicht zurückrepliziert und eventuell auch wieder überschrieben. Leider werden demnach auch Löschvorgänge im Zielsystem nicht durchgeführt.

Für die Migration von Benutzern nach Exchange 2000 ist aber eine bidirektionale Replikation zwingend notwendig. Ansonsten können Sie über die Managementkonsole die Benutzer nicht verschieben. Hier ist aber das Risiko, dass unerkannte Löschvorgänge im AD (die bis zu 60 Tage gehalten werden) nach der Aktivierung ein mittleres Chaos anrichten.

Bidirektionale Verbindungen sollten daher entweder gleich von Anfang an eingesetzt werden oder mit Bedacht aktiviert werden.

Redundante ADCs

Nun ist verständlich, dass ein einzelner Server als Betreiber der Verbindungsvereinbarungen nicht immer ausreichend ist. Hierzu gehören große Firmen mit vielen Änderungen ebenso wie geografisch verteilte Firmen, die mehrere Standorte effektiv verbinden müssen. Zuletzt

Löschen von Einträgen

Wird ein User gelöscht, dann ist das Objekt natürlich nicht mehr da. Aber über den Spezialorder "deleted Objects" der in jeder Domäne existiert, findet der ADC diesen Eintrag und bei einer bidirektionalen Replikation MIT löschen wird der Benutzer auch im Exchange 5.5. gelöscht. (Bis zur Tombstone-Zeit des AD)

Ohne die Aktivierung der Löschfunktion des ADC haben Sie nach kurzer Zeit ein inkonsistentes Verzeichnis, da der User im AD nicht mehr existiert, in Exchange 5.5. aber wohl. Das hat Auswirkungen, z.B. auf Gruppenmitgliedschaften etc.

Filtern von Objekten

Ein weiterer Ansatz besteht darin, nicht alle Objekte in einer OU zu replizieren. Normalerweise repliziert der ADC alle Objekte in der Quelle. Sie können nur selektieren, ob Sie Benutzer oder Verteiler replizieren wollen.

Allerdings kann es nun auch sein, dass Sie z.B. nur eine Teilmenge der Anwender einer OU durch diese Verbindungsvereinbarung replizieren lassen möchte. Standardmäßig benutzt der ADC folgenden LDAP-Filter

(|(objectclass=organizational Person)(objectclass=remote-address)(objectclass=group OfNames))

Interessant wäre es ja nun, wenn der Filter auf eigene Bedürfnisse angepasst werden könnte. Denkbar wäre z.B.

(&(|(objectclass= organizationalPerson) (objectclass=remote-address)(objectclass= groupOfNames)) (physicalDeliveryOfficeName= Paderborn))

Leider können Sie diese Einstellungen nicht über die normale MMC machen, sondern wieder nur über ADSIEDIT direkt auf der Verbindungsvereinbarung.

Auch hier gibt es wieder die beiden Felder, deren Attribute Sie entsprechend anpassen müssen:

Denken Sie aber immer daran, dass Sie auch die übrigen Objekte dann mit einer anderen Verbindungsvereinbarung replizieren müssen. Für den reibungslosen Betrieb von Exchange 2000/2003 und Exchange 5.5 in einer Organisation ist es zwingend erforderlich, dass alle Mailempfänger synchron sind.

Wo liegt die ADC Konfiguration ?

Die Konfiguration des ADC ist nicht Bestandteil des jeweiligen Servers, sondern ist im Active Directory hinterlegt. Die Information kann man mit der MMC anzeigen:

Es ist aber möglich und bei größeren Umgebungen auch sinnvoll, mehrere Server mit einem ADC zu installieren und mehrere CA's einzurichten. CA's können auch redundant sein, so dass sich Server die Last teilen. Hierbei sind mehrer Punkte zu beachten:

Aufgrund meiner Erfahrung mit dem ADC weiß ich aber, dass alles was ich hier schreibe immer nur einen "Teil" der Funktion abdecken kann und ich niemals allgemein gültige Regeln vorschlagen kann. Die Replikation von Verzeichnissen ist nun mal alles andere als einfach. Mit wenigen Domänen und Exchange Sites und einen guten Backup können Sie selbst daran gehen, ihren ADC zu konfiguriere, aber je komplexer Ihr Umfeld ist, desto mehr zählen Erfahrung, Gewissenhaftigkeit, Planung, Test und Kontrolle.

Fullname und DN

Der ADC wird bei der Replikation auch dafür sorgen, dass der DN ihrer Active Directory Objekte an den Exchange Displayname angepasst wird. Das ist erst mal nicht falsch, da sowohl der Windows NT4 Anmeldename als auch der Windows 200x UPN-Name nicht verändert wird. Sie merken diese Änderung aber dann, wenn Sie z.B. auf eine Freigabe Rechte vergeben möchten und dabei nicht mehr die früheren NT4 Anmeldenamen sehen, sondern "Nachname, Vorname".

Wenn das schon passiert ist, dann hilft ihnen das Skript MSXFAQ - Code RDNChance wieder zurück. Sie können diese Umbenennung aber auch über ADSI-Edit steuern. Detaillierte Informationen finden Sie dazu in folgendem TechNet Artikel:

Latenzzeit und Reihenfolge

Nun kann es auch so sein, dass ein Objekt mit dem ADC repliziert wird, aber z.B. bei diesem Objekt auch Gruppenmitgliedschaften einzutragen sind. Das kann aber erst funktionieren,  wenn die Gruppe schon repliziert ist. Leider kann der ADC natürlich nicht alles "zeitgleich" machen, so dass es vorkommen kann, dass einige Werte eben erst später geschrieben werden können. So kann es auch passieren, dass ein Benutzer mit einem HomeMTA repliziert werden soll, aber das entsprechende Serverobjekt noch nicht im Ziel vorliegt, das da entsprechende ConfigCA noch nicht abgeschlossen ist. Der ADC muss diese noch offenen Aktionen sich an einer geeigneten Stelle merken. Dazu nutzt der ADC ein Feld beim Zielobjekt:

D.h. wenn Sie nun ihr Exchange 5.5. Verzeichnis oder ihr Active Directory nach diesen Feldern durchsuchen und fündig werden, dann ist das ein Hinweis, dass noch ausstehende Aktivitäten des ADC vorhanden sind. Normalerweise löst der ADC diese "Probleme" alleine. Allerdings kann es sein, dass es Objekte gar nicht mehr gibt und daher diese Dinge von ihnen von Hand gelöst (oder ignoriert) werden.

Warnung und Tipps

Die Synchronisation von Exchange 5.5 und dem Active Directory ist eine schöne und effektive Sache, wenn Sie richtig gemacht wird und die Startvoraussetzungen stimmen. Aber dabei gilt es das ein oder andere zu beachten, damit es nicht knallt. Auch wenn der ADC letztlich funktioniert, birgt die Funktion alleine weitere Gefahren. Hier einige der Gefahren

Der ADC ist ein problemloser und funktionierendes Modul aber die Tragweite einiger Einstellungen sollten Sie vollständig verstanden haben, ehe Sie Änderungen durchführen. Bitte besorgen sie sich daher die notwendigen Informationen aus der guten Dokumentation oder fachliche Hilfe, damit aus der guten Idee nicht ein Fiasko wird.

Zusammenfassung

Ich hoffe ich habe ein wenig Licht in den ADC gebracht. Wenn gleich die Synchronisation zweier vollwertiger Verzeichnisse niemals als "einfach" gelten kann und nur gewissenhaftes Arbeiten und permanente Kontrolle zum Erfolg führen.

Weitere Links

Keywords:ADC Replikation msExchADCGlobalNames ADC-Global-Names