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):

  • Postfachvereinbarung (Benutzer und Verteiler)
    Hiermit werden die Postfächer von Exchange 5.5 an Benutzer des Active Directory gekoppelt. Je nach Einstellung können Sie dann sogar die Benutzer von Exchange 5.5. über das Active Directory pflegen, Anlegen und Löschen. Beim Parallelbetrieb von Exchange 2000 und Exchange 5.5. ist dieser Connector notwendig, damit das Adressbuch der Exchange 2000 Benutzer vollständig ist. Objekte, die es nicht im Active Directory gibt, finden sich nicht im Global Catalog Server und damit auch nicht im Outlook Adressbuch.
    Diese CA ist auch wichtig im Hinblick auf Berechtigungen auf öffentliche Ordner, da Exchange 2000 sonst die Rechte auf die Ordnerbesitzer beschränkt und ein Bug in früheren Versionen sogar die Rechte in Exchange 5.5. löscht, wenn diese CA nicht sauber ist.
  • Konfigurationsverbindung
    Dieser Connector wird vom Exchange 2000 Setup eingerichtet wenn Exchange 5.5 vorhanden ist, damit die Konfigurationsdaten repliziert werden. Dazu gehört auch die SRS-Datenbank auf dem Exchange 2000 Server.
    Hier kann ich nur raten: FINGER WEG. Wenn Sie hier dran rumdrehen, dann sollten sie genau wissen, was sie tun. Tricks zum ADC im Bezug auf diese Verbindung werden Sie auf dieser Webseite nicht finden !!
  • öffentliche Ordner Vereinbarung
    Auch für die öffentlichen Ordner müssen entsprechende Objekte im Active Directory angelegt werden. Ohne diese können sie in Outlook mit Exchange 2000 keine Ordner verwalten oder nutzen, wenn diese auf Exchange 5.5. liegen. Damit wird nur die Information repliziert, dass die Ordner "mail enabled", weil alle Exchange 5.5. Ordner eine Mailadresse haben, aber Exchange 2000 Ordner als Standard nicht mail enabled sind. Diese Verbindungsvereinbarung sorgt nicht dafür, dass die Struktur der Ordner, die Rechte auf Inhalte, die Replikationseinstellungen oder der der Inhalt repliziert wird. !!!
    Sie müssen zu jeder Exchange 5.5. Site eine PF-CA einrichten, damit Änderungen auch zurück geschrieben werden können. (Bei Exchange 5.5. erlaubt nur die Homesite des Ordners das ändern der Eigenschaften).
    Troubleshooting. Wann immer es Probleme mit Ordner im Bezug auf Berechtigungen, Replikation oder Verweise gibt, ist der PF CA der letzte Punkt nach einem Fehler zu sichern.

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 können, 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.

  • 253832 XADM: Description of the Active Directory Connector Schema Map

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.

  • 253829 Description of the Active Directory Connector deletion mechanism

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:

  • msExchServer2SearchFilter
    Enthält den Suchfilter für die Replikation aus Exchange 5.5 in das Active Directory
  • msExchServer1SearchFilter
    Enthält den Suchfilter für die Replikation aus dem Active Directory nach Exchange 5.5

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:

  • Es darf nur eine primäre CA je Zielkontainer geben, damit nur diese eine CA neue Objekte anlegt.
  • ADC-Verbindungsvereinbarungen sollten so gelegt sein, dass die Server nahe beieinander stehen, so dass die Netzwerkpakete nicht über unsicherere WAN-Stecken laufen.
  • Beachten Sie, dass Änderungen durch den ADC auch noch durch die AD-Replikation verteilt werden müssen und dies Zeit benötigt.
  • Die Sicherheit der LDAP-Verbindungen gegen abhören und verändern sollte in sensiblen Bereichen mittels VPN oder IPSEC erhöht werden.

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:

  • 250455 How to Change Display Names of Active Directory users
    Bildung des Displaynames ändern statt Vorname Nachname auf "Nachname, Vorname"
  • Q269843: XADM: ADC Overwrites Display Name with Exchange Server 5.5 Display Name
    Damit der ADC nicht den CN der Active Directory Objekte anpasst muss mit ADSIEDIT in den CA-Properties der Wert msExchServer1Flags=2 gesetzt werden.

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

  • Verstehen Sie AD und Exchange DS
    Zwischen AD und Exchange 5.5 besteht eine 1:1 Beziehung.
    Konstellationen, die mit Exchange 5.5 möglich sind (z.B. ein Benutzer ist primäres Konto für mehrere Postfächer) sind nicht mehr möglich. Bereinigen Sie daher vorher ihr Exchange 5.5 Verzeichnis. Weitere Hinweise finden Sie dazu unter NTDSNOMATCH in der TechNet im Bereich Exchange 2000 - Update und Exchange Tools.
  • Verteiler sind NT-Gruppen
    Mit dem ADC können Sie aus jeder NT-Sicherheitsgruppe einen Verteiler für Exchange 5.5 machen. Umgekehrt wird aus jedem Exchange Verteiler ebenfalls ein Objekt im Active Directory. In der Regel gibt es hier übereinstimmende Gruppen. Diese sollte der ADC auch zusammenführen können. Prüfen Sie die Namen !.
    Ansonsten haben sie Gruppen "mehrfach"
  • Löschen ist Löschen
    Denken Sie genau nach, wenn Sie ein Objekt löschen, denn ein Löschbefehl wird auch in das andere Verzeichnis repliziert. Früher konnten Sie einen NT-Benutzer löschen, aber das Postfach ist erhalten geblieben. Nun ist das Postfach auch gelöscht. Denken Sie darüber nach, zukünftig Konten erst zu deaktivieren und nach einiger Zeit zu löschen oder die Daten vorher an ein anderes Postfach zu übertragen.
  • Richtung vorgeben
    Denken sie darüber nach, einige Tage nur in eine Richtung zu replizieren, um Fehler oder unstimmigkeiten zu erkennen und immer wieder neu replizieren zu können. Sobald bidirektional repliziert wird, ist ein Fehler doppelt tragisch.
  • Public Folder CA
    Ehe eine öffentliche Ordner Vereinbarungen eingerichtet wird, sollte die Postfach/Kontakt-Verbindung funktionieren, da ansonsten die Ordnerberechtigungen nett Fehler im Eventlog produzieren, dass die Sicherheits-ID's nicht zugeordnet werden können. Frühere Versionen haben unter ungünstigen Bedingungen die Rechte in Exchange 2000 komplett gelöscht.
  • Mehrere Sites
    Wenn sie eine weitere Exchange 5.5. Site haben und gerne auch diese Empfänger in Outlook mit Exchange 2000 nutzen möchten, dann sollten Sie bedenken, dass jedes Objekt im Adressbuch unter Exchange 2000 im Active Directory entweder ein Benutzer (mailenabled) oder ein Kontakt ist. Entsprechend werden die Benutzer in ihrer Domäne bei der Replikation angelegt. Denken Sie daran, wenn sie parallel ihr Active Directory installieren. Im Idealfall ist das Active Directory zuerst komplett verteilt, damit diese Konten gleich in der richtigen Domäne und OU angelegt werden können.
  • ADC Verbindungen (CA)
    Beachten Sie, welche Server sie als Quelle und Ziel angeben und welche Container und OU's. Dies ist besonders wichtig, wenn Sie neue Objekte anlegen, damit diese im richtigen Zielcontainer angelegt werden. Auch muss sichergestellt werden, dass die Replikation funktioniert, nachdem Sie Benutzer im AD zwischen OUs verschoben haben. Auch Verteiler sind hierbei zu beachten. Unter umständen hat ein ADC viele Verbindungsvereinbarungen zu steuern. Nur in den seltensten Fällen reicht es, drei CAs (Config, Empfänger, öffentlicher Ordner) zu installieren.
  • Tipp aus dem Exchange 2000 Public Folder Dokument
    Always configure user & Public Folder CAs to replicate between W2K DC/GC and an SRS where possible (obviously this can’t be done für sites with are pure Exchange 5.5). When an Exchange 2000 server is added to an Exchange 5.5 site, move any existing user & Public Folder CAs to replicate with the SRS. The SRS uses LDAP Port 379. This is because SRS’ hold the writeable copies of pure Exchange 2000 Admin Groups.

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