Ein Verbindungsobjekt (auf Englisch: connection object) ist ein Active Directory-Objekt, das eine direkte logische Replikationsverbindung zwischen zwei Domänencontrollern (DC) darstellt. Bei den Verbindungsobjekten handelt es sich stets um unidirektionale Pull-Replikationsverbindungen. Dabei werden die Verbindungsobjekte automatisch von der Konsistenzprüfung (bekannt als Knowledge Consistency Checker, kurz KCC) erstellt und in der Konfigurationspartition, im folgenden LDAP-Pfad gespeichert:


CN=<Verbindungsobjekt>,CN=NTDS Settings,CN=<DC>,CN=Servers,CN=<AD-Standort>,CN=Sites,CN=Configuration,DC=Root-Domäne


Der KCC, der standardmäßig alle 15 Minuten die Replikationstopologie auf jedem DC neu berechnet, ist ein Active Directory Prozess. Er ist dafür zuständig, dass zum einen die Verbindung zwischen den Replikationspartnern besteht und zum anderen in der Gesamtstruktur eine effiziente sowie fehlertolerante Replikationstopologie entsteht. Dazu erstellt der KCC alle notwendigen Verbindungsobjekte. In der Regel erfordern diese keine Änderungen durch den Administrator. Die Anzahl der Verbindungsobjekte die vom KCC erstellt werden, hängt logischerweise von der Anzahl der DCs ab.


Das Merkmal eines vom KCC erstellten Verbindungsobjekts ist der Name der Replikationsverbindung. Dieser kann in der MMC Active Directory-Standorte und -Dienste (dssite.msc) überprüft werden und lautet <automatisch generiert>.



 



Wenn aber die vom KCC automatisch berechnete Replikationstopologie nicht den Anforderungen genügt, kann der Administrator an den Verbindungsobjekten Änderungen vornehmen. Der Administrator kann ein neues Verbindungsobjekt erstellen oder ein vom KCC erstelltes Verbindungsobjekt bearbeiten. Beides ist jedoch in den meisten Umgebungen nicht notwendig!


 



Das manuelle Erstellen eines neuen Verbindungsobjekts


Verbindungsobjekte können nicht nur vom KCC, sondern auch vom Administrator manuell erstellt werden. Zum Beispiel um die Replikationstopologie des Netzwerks anzupassen, oder um die Anzahl an Hops von einem DC zu einem anderen bestimmten DC zu verringern. Das hat aber einen gewaltigen Nachteil! Denn die Verbindungsobjekte, die vom KCC erstellt wurden, werden auch von diesem verwaltet. Das bedeutet, wenn Verbindungsobjekte durch den KCC erstellt werden, werden sie automatisch durch den KCC entfernt, sobald sich die Replikationstopologie ändert. Somit ist ein manuelles Eingreifen nicht erforderlich! Dahingegen werden die Verbindungsobjekte, die manuell vom Administrator erstellt wurden, nicht vom KCC entfernt, wenn sich die Replikationstopologie einmal ändern sollte. Manuell erstellte Verbindungsobjekte werden nicht vom KCC verwaltet und müssen, bei etwaigen Veränderungen in der Replikationstopologie, immer vom Administrator manuell entfernt werden. Das erfordert die Aufmerksamkeit des Administrators.


Ein vom Administrator erstelltes Verbindungsobjekt erkennt man am Namen. Wenn der Administrator ein neues Verbindungsobjekt erstellt, erhält es eine GUID als Namen, den man anschließend umbenennen kann.



 



Beim Erstellen eines Verbindungsobjekts muss der Quell-DC angegeben werden, von dem die AD-Änderungen repliziert werden sollen. Ist das Verbindungsobjekt erstellt, kann anschließend der Zeitplan bearbeitet werden und bei einem Verbindungsobjekt, das für die standortübergreifende AD-Replikation verwendet wird, kann zusätzlich noch das Transport-Protokoll geändert werden. In der grafischen Oberfläche wird ein Verbindungsobjekt in der MMC dssite.msc erstellt. Dort navigiert man zum AD-Standort, an dem sich der entsprechende DC befindet, wählt den DC aus und ruft mit einem Rechtsklick auf das NTDS Settings Objekt die Option „Neu à Verbindung“ auf.


Der KCC verwendet jedes manuell erstellte Verbindungsobjekt, als wenn er es selbst erstellt hätte. Gegebenenfalls führt der KCC aber eine erneute Konfiguration an den Verbindungsobjekten durch, um eventuell fehlende Verbindungsobjekte auszugleichen.


 



Das Bearbeiten eines vom KCC erstellten Verbindungsobjekts


Ändert der Administrator ein vom KCC erstelltes Verbindungsobjekt, erhält es als Namen ebenfalls eine GUID. Daran lässt sich in der MMC dssite.msc leicht erkennen, welche Verbindungsobjekte nicht vom KCC, sondern ausschließlich vom Administrator verwaltet werden (müssen)! Das Verbindungsobjekt lässt sich jedoch umbenennen, damit es leichter identifiziert werden kann.


In den Eigenschaften eines Verbindungsobjekts kann man den Zeitplan und den Quell-DC ändern. Im Zeitplan kann man definieren, an welchen Wochentagen, zu welcher Uhrzeit und wie oft (man hat die Wahl zwischen Keine, Einmal-, Zweimal- oder Viermal pro Stunde) die Replikation durchgeführt werden soll. Dabei muss man allerdings zwischen der standortinternen (Intra-Site) und standortübergreifenden (Inter-Site) AD-Replikation unterscheiden!


Denn standardmäßig findet die standortinterne AD-Replikation, ab dem Gesamtstrukturfunktionsmodus „Windows Server 2003“, bereits 15 Sekunden nach einer AD-Änderung statt. Bei der standortinternen AD-Replikation dient das Intervall im Verbindungsobjekt lediglich dazu, dass falls eine Änderungsbenachrichtigung durch einen Ziel-DC nicht empfangen bzw. verarbeitet werden sollte (beispielsweise wegen Überlastung), jeder DC im konfigurierten Intervall (standortintern standardmäßig „Einmal pro Stunde“) seine Replikationspartner in jedem Fall anfragt, ob es Änderungen gab. Falls ja, repliziert der Ziel-DC die AD-Änderungen als wenn er eine Änderungsbenachrichtigung erhalten hätte. Das Replikationsintervall im Intra-Site Verbindungsobjekt („Einmal pro Stunde“) wird vom NTDS Site Settings Objekt, genauer vom Attribut schedule das sich in den Eigenschaften des “NTDS Site Settings Objekt” befindet, vererbt.



 



Bei der standortübergreifenden AD-Replikation gilt der Zeitplan, der in der Standortverknüpfung (Site-Link) definiert ist. Dort ist festgelegt, dass standardmäßig alle 180 Minuten die standortübergreifende AD-Replikation stattfindet.


 



Das Intervall aus der Standortverknüpfung wird auf die Verbindungsobjekte, die für die standortübergreifende AD-Replikation verwendet werden, vererbt. Ändert man das Intervall in der Standortverknüpfung, werden automatisch die entsprechenden Verbindungsobjekte aktualisiert! Die Verbindungsobjekte werden aber weiterhin vom KCC verwaltet.





In den Eigenschaften eines Verbindungsobjekts kann man auch im Feld Replizierte Namenskontexte erkennen, welche Verzeichnispartitionen über dieses Verbindungsobjekt repliziert werden.


 



Ein manuell erstelltes oder bearbeitetes Verbindungsobjekt vom KCC verwalten lassen


Wurde ein Verbindungsobjekt manuell erstellt oder ein vom KCC erstelltes Verbindungsobjekt bearbeitet, trägt der Administrator die Verantwortung für dieses Verbindungsobjekt. Doch oft wird in der täglichen Praxis versehentlich eine Änderung an einem Verbindungsobjekt durchgeführt und selten steckt eine absichtlich gewollte administrative Änderung dahinter.


Die Nachteile der vom Administrator erstellten Verbindungsobjekte sind:



  • Das Verbindungsobjekt bleibt weiterhin bestehen, obwohl es nicht mehr benötigt wird.


  • Beim Ändern des Intervalls in der Standortverknüpfung vererbt sich die Aktualisierung nicht automatisch auf ein Verbindungsobjekt, das für die standortübergreifende AD-Replikation verwendet wird.


  • Neue Anwendungsverzeichnispartitionen werden nicht automatisch repliziert.


Deshalb ist es empfehlenswert, wann immer möglich, die Verwaltung der Verbindungsobjekte dem KCC zu überlassen. Er verrichtet seine Arbeit zuverlässig und berechnet bei Veränderungen zeitnah die Replikationstopologie neu und gleicht eventuell fehlende Verbindungsobjekte aus.



Möchte man statt manuell verwalteter automatisch generierte und vom KCC verwaltete Verbindungsobjekte erhalten, so hat man folgende Möglichkeiten:



  • Man löscht das manuell erstellte oder bearbeitete Verbindungsobjekt und wartet maximal 15 Minuten. Denn für den Aufbau der Replikationstopologie ist wie bereits erwähnt der KCC zuständig, der auf jedem DC alle 15 Minuten die Replikationstopologie neu berechnet. Spätestens nach 15 Minuten erstellt der KCC automatisch die notwendigen Verbindungsobjekte.


  • Wer die Replikationsunterbrechung von maximal 15 Minuten nicht in Kauf nehmen kann, muss den KCC in der MMC dssite.msc manuell anstoßen, nach dem das entsprechende Verbindungsobjekt gelöscht wurde. Dazu gilt es mit einem Rechtsklick auf das NTDS Settings Objekt, unterhalb des entsprechenden DC-Objekts, die Option Replikationstopologie überprüfen unter Alle Aufgaben auszuwählen. Dadurch berechnet der KCC die Replikationstopologie sofort und erstellt die fehlenden Verbindungsobjekte.


  • Auch mit dem Allroundwerkzeug für die AD-Replikation, REPADMIN, lässt sich der KCC sofort ausführen. Führt man in der Kommandozeile den Befehl REPADMIN /KCC <DC> aus, berechnet der KCC die Replikationstopologie neu und erstellt die erforderlichen Verbindungsobjekte.

 



Das Attribut options in den Eigenschaften eines Verbindungsobjekts


Doch die Verwaltung der manuell erstellten oder bearbeiteten Verbindungsobjekte lässt sich auch ohne das Löschen von Verbindungsobjekten und ohne eine Replikationsunterbrechung an den KCC im laufenden Betrieb übergeben! Dazu muss das options Attribut, das sich in den Eigenschaften des Verbindungsobjekts befindet, bearbeitet werden. Diese Vorgehensweise bietet sich ebenfalls für dann an, wenn man eine manuell verwaltete Replikationstopologie an den KCC übergeben und somit automatisch generierte Verbindungsobjekte erhalten möchte.


Das Attribut options im Verbindungsobjekt besteht aus einer Bitmaske, wobei die Bedeutung der Einzelnen Flags von Objektklasse zu Objektklasse variiert. Die Klassen, in denen das Attribut options existiert, sind: interSiteTransport, nTDSConnection, nTDSDSA, nTDSSiteSettings und siteLink. Wobei das options Attribut im Verbindungsobjekt wie das Verbindungsobjekt selbst zur Klasse nTDSConnection gehört.


Enthält das Attribut options den Wert 1 (Dezimal), wird das Verbindungsobjekt vom KCC verwaltet. Wird das vom KCC erstellte Verbindungsobjekt durch den Administrator geändert, ändert sich der Wert im Attribut options. Erstellt der Administrator ein Verbindungsobjekt, erhält das Attribut options den Wert 0 (Dezimal).


Das Attribut options im Verbindungsobjekt, besteht aus den folgenden Flags, wobei mehrere gleichzeitig gesetzt werden können:



  • Bit 0 – Dezimal 1 – Hex 0x1 (IS_GENERATED): Das Verbindungsobjekt wird vom KCC verwaltet. Das ist der Wert, der am meisten verwendet wird.


  • Bit 1 – Dezimal 2 – Hex 0x2 (TWOWAY_SYNC): Ist dieses Flag gesetzt, findet eine bidirektionale Replikation zwischen dem Quell- und Ziel-DC über ein und dasselbe Verbindungsobjekt statt, wozu ansonsten zwei Verbindungsobjekte nötig wären. Dieses Flag gibt an, dass der Ziel-DC den Quell-DC nach Abschluss der eingehenden Replikation darüber zu informieren hat, das der Quell-DC in die umgekehrte Richtung replizieren muss. Dieses Feature ist in Dial-up Szenarien interessant, in denen nur einer der beiden DCs eine DFÜ-Verbindung initiieren kann.


  • Bit 2 – Dezimal 4 – Hex 0x4 (OVERRIDE_NOTIFY_DEFAULT): Mit diesem Flag werden die Benachrichtigungen überschrieben und die Replikationsdaten komprimiert.


  • Bit 3 – Dezimal 8 – Hex 0x8 (USE_NOTIFY): Ist dieses Bit gesetzt, wird die Änderungsbenachrichtigung verwendet.


  • Bit 4 – Dezimal 16 – Hex 0x10 (DISABLE_INTERSITE_COMPRESSION): Dieses Flag deaktiviert die Datenkomprimierung bei der standortübergreifende (Inter-Site) AD-Replikation.


  • Bit 5 – Dezimal 32 – Hex 0x20 (USER_OWNED_SCHEDULE): Ist dieses Flag gesetzt, wurde vom Administrator ein benutzerdefinierter Zeitplan konfiguriert.


  • Bit 6 – Dezimal 64 – Hex 0x40 (RODC_TOPOLOGY): Dieses Flag wird für die AD-Replikation zu einem RODC gesetzt. Wenn der KCC das Verbindungsobjekt eines RODCs erstellt, erhält das Attribut options den Dezimalwert 65. Der Wert 65 bedeutet, dass Bit 0 (IS_GENERATED) und Bit 6 (RODC_TOPOLOGY) gesetzt sind.


Options



 


Alle Verbindungsobjekte die vom Administrator verwaltet werden abfragen und vom KCC verwalten lassen


Alle Verbindungsobjekte die nicht vom KCC, sondern vom Administrator verwaltet werden und es sich nicht um ein Verbindungsobjekt eines RODCs handelt, kann man sich mit diesem AD-PowerShellbefehl Anzeigen lassen:


Get-ADObject -LDAPFilter “(&(objectCategory=nTDSConnection)(!(|(options:band:=1)(options:band:=65))))” -Properties Name -Searchbase “CN=Configuration,DC=Root-Domäne” -SearchScope Subtree | Select Name,DistinguishedName | FT -A -Wrap



Sollen alle manuell verwalteten Verbindungsobjekte ab sofort vom KCC verwaltet werden, so kann man das durch diesen AD-PowerShellbefehl erreichen:


Get-ADObject -LDAPFilter “(&(objectCategory=nTDSConnection)(!(|(options:band:=1)(options:band:=65))))” -Properties options -Searchbase “CN=Configuration,DC=Root-Domäne” -SearchScope Subtree | Set-ADObject -Replace @{options=1}


 


Übrigens kann man sich mit dem Befehl Repadmin /showconn <DC>, alle Verbindungsobjekte vom angegebenen DC anzeigen lassen.


 



Weitere Informationen:
Die Vektoren zur Steuerung der AD-Replikation
Die dringende AD-Replikation
Die Inter-Site (standortübergreifende) Änderungsbenachrichtigung aktivieren
Die Linked Value Replikation (LVR)
Zwei wichtige IDs eines DCs: DC GUID und InvocationId
Die unterschiedliche Größe der AD-Datenbank
Domänencontroller vergleichen

Comments are closed, but trackbacks and pingbacks are open.