Es gibt tatsächlich mehrere miteinander verbundene Funktionen / APIs. Obwohl sie lang sind, ist es tatsächlich eine der interessantesten Active Directory-Lesevorgänge.
Unabhängig von der folgenden Erklärung müssen Sie sich zweier Dinge bewusst sein:
Wenn ein Domänencontroller am lokalen Standort aus irgendeinem Grund nicht antwortet, wird erwartet, dass der Client einen Domänencontroller in der Domäne kontaktiert. Das ist normal und es war immer das Standardverhalten. Manchmal ist es nicht ersichtlich, warum es auftritt.
Das kann suboptimal sein. Stellen Sie sich das folgende Szenario vor: Drei Standorte: New York City (Hub / Datacener - schnell), Los Angeles (sprach mit NYC - schnell) und Kasachstan (sprach mit NYC - definitiv nicht schnell). Wenn Ihr Kunde in LA aus irgendeinem Grund nicht mit dem lokalen DC Kontakt aufnehmen kann, ist es nicht unvorstellbar, dass er sich bei Kasachstan authentifiziert.
Es gibt einige Lösungen. Sie können eines oder beides tun.
Microsoft hat die Gruppenrichtlinien- / Registrierungseinstellung "TryNextClosestSite" erstellt. Das bedeutet, dass der LA-Kunde NYC ausprobieren sollte, bevor er den Planeten nach DCs absucht. Brillant! Es hat acht Jahre gedauert, aber das haben wir mit Vista / 2008 endlich geschafft. Denken Sie daran, dass Sie, nicht standardmäßig aktiviert, ein Gruppenrichtlinienobjekt erstellen müssen, um dies zu aktivieren.
Für Spoke-Sites, bei denen Sie wirklich nicht möchten, dass dieser Domänencontroller Clients an anderen Sites bedient, können Sie eine Gruppenrichtlinien- / Registrierungseinstellung erstellen, die angibt, welche DNS-Einträge nicht registriert werden sollen. Dies wird als DNS-Mnemonik bezeichnet.
Suchen eines Domänencontrollers an der nächstgelegenen Site (DsGetSiteName-API)
http://technet.microsoft.com/en-us/library/cc978016.aspx
Zuordnen von IP-Adressen zu Site-Namen
"Beim Start von Net Logon listet der Net Logon-Dienst auf jedem Domänencontroller die Standortobjekte im Konfigurationscontainer auf. Net Logon auf jedem Domänencontroller wird auch über Änderungen an den Standortobjekten benachrichtigt. Net Logon verwendet die Standortinformationen zum Erstellen eines In-Memory-Struktur, mit der IP-Adressen Site-Namen zugeordnet werden.
"Wenn ein Client, der nach einem Domänencontroller sucht, die Liste der Domänencontroller-IP-Adressen von DNS empfängt, beginnt der Client, die Domänencontroller nacheinander abzufragen, um herauszufinden, welcher Domänencontroller verfügbar und geeignet ist. Active Directory fängt die Abfrage ab, die enthält Die IP-Adresse des Clients wird ermittelt und an Net Logon auf dem Domänencontroller übergeben. Net Logon sucht die Client-IP-Adresse in der Zuordnungstabelle von Subnetz zu Standort, indem das Subnetzobjekt gesucht wird, das der Client-IP-Adresse am ehesten entspricht gibt die folgenden Informationen zurück:
Der Name des Standorts, an dem sich der Client befindet, oder der Standort, der der Client-IP-Adresse am ehesten entspricht.
Der Name des Standorts, an dem sich der aktuelle Domänencontroller befindet.
Ein Bit, das angibt, ob sich der gefundene Domänencontroller an der dem Client am nächsten gelegenen Stelle befindet (Bit ist gesetzt) oder nicht (Bit ist nicht gesetzt).
Der Domänencontroller gibt die Informationen an den Client zurück. Die Antwort enthält auch verschiedene andere Informationen, die den Domänencontroller beschreiben. Der Client überprüft die Informationen, um festzustellen, ob versucht wird, einen besseren Domänencontroller zu finden. Die Entscheidung wird wie folgt getroffen:
"Wenn sich der zurückgegebene Domänencontroller am nächsten Standort befindet (das zurückgegebene Bit ist gesetzt), verwendet der Client diesen Domänencontroller.
"Wenn der Client bereits versucht hat, einen Domänencontroller an dem Standort zu finden, an dem sich der Domänencontroller nach eigenen Angaben befindet, verwendet der Client diesen Domänencontroller.
"Wenn sich der Domänencontroller nicht am nächsten Standort befindet, aktualisiert der Client seine Standortinformationen und sendet eine neue DNS-Abfrage, um einen neuen Domänencontroller am Standort zu finden. Wenn die zweite Abfrage erfolgreich ist, wird der neue Domänencontroller verwendet Wenn die zweite Abfrage fehlschlägt, wird der ursprüngliche Domänencontroller verwendet.
"Wenn die Domäne, die von einem Computer abgefragt wird, mit der Domäne identisch ist, der der Computer angehört, wird der Standort, an dem sich der Computer befindet (wie von einem Domänencontroller gemeldet), in der Computerregistrierung gespeichert. Der Client speichert dies Site-Name im Registrierungseintrag DynamicSiteName in HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Netlogon \ Parameters. Daher gibt die DsGetSiteName-API den Standort zurück, an dem sich der Computer befindet. "
DsGetDcName-Funktion
http://msdn.microsoft.com/en-us/library/ms675983%28VS.85%29.aspx
Arten von Locators
http://technet.microsoft.com/en-us/library/cc978019.aspx
Verzeichnisdienstfunktionen
http://technet.microsoft.com/en-us/subscriptions/ms675900%28v=vs.85%29.aspx
Funktionsweise der DNS-Unterstützung für Active Directory
http://technet.microsoft.com/en-us/library/cc759550%28v=ws.10%29.aspx
Optimieren des Standorts eines Domänencontrollers außerhalb der Website eines Clients
http://support.microsoft.com/kb/306602