Verzeichnisdienstfunktionen (AD DS)

Die Verzeichnisdienstfunktionen bieten ein Hilfsprogramm zum Suchen eines Domänencontrollers (DC) in einer Windows NT- oder Windows 2000-Domäne. Die Architektur interagiert mit Clients und Servern in allen Versionen von Windows NT und Windows 2000. Mit den folgenden Funktionen können Entwickler mit dem Domänencontroller und der Domänenmitgliedschaft im Verzeichnisdienst arbeiten:

Der DC-Locator DsGetDcName wird vom Netlogon-Dienst implementiert. Jeder DC registriert seinen DNS-Namen auf dem DNS-Server und seinen NetBIOS-Namen mithilfe eines transportspezifischen Mechanismus, z. B. in WINS. Der DC-Locator sucht den Namen und sendet dann ein Datagramm an den DC, der den Namen registriert hat, oder pingt. Bei NetBIOS-Domänennamen ist das Datagramm eine Maillot-Nachricht. Für DNS-Domänennamen ist das Datagramm eine LDAP-UDP-Suche. Jeder solche DC antwortet, und gibt an, dass er derzeit betriebsbereit ist. Der erste DC, der antwortet, wird an den Aufrufer zurückgegeben.

Der zurückgegebene DC wird zwischengespeichert, sodass nachfolgende Aufrufer den vorherigen Algorithmus nicht wiederholen müssen, und um alle Aufrufer zu ermutigen, denselben DC zu verwenden. Dadurch wird sichergestellt, dass ein einzelner Client über eine konsistente Ansicht des Inhalts des DC verfügt.

Bei der Suche nach einem Domänennamen von DC by DNS versucht der DC-Locator, einen DC am "nächstgelegenen" Standort zu finden. Jeder DC registriert zusätzliche DNS-Einträge, die angeben, in welchem Standort sich der DC befindet und welche Standorte der DC enthält. Der DC-Locator sucht zuerst nach diesem standortspezifischen DNS-Eintrag, bevor er nach dem DNS-Eintrag sucht, der nicht standortspezifisch ist, und bevorzugt daher einen DC an dieser Website. Wenn der DC-Locator ein Datagramm an den DC sendet, sucht der DC die IP-Adresse des Clients im Container Configuration/Sites/Subnet des DS, um ein Subnetzobjekt zu finden. Die siteObject-Eigenschaft des Subnetzobjekts definiert den Namen des Standorts, der den Client enthält. Der DC antwortet auf den Ping mit dem Namen des Standorts, der den Client enthält, zusammen mit einem Indikator, ob dieser DC diesen Standort abdeckt. Wenn der DC diesen Standort nicht enthält und der DC-Locator noch nicht versucht hat, einen DC an diesem Standort zu finden, versucht der DC-Locator erneut, einen DC in der Website zu finden.

Verwenden Sie die DsGetSiteName-Funktion , um den Namen der Website zu finden, die den Client enthält. Die Namen der Objekte im Container Configuration/Sites/Subnet müssen gültige Subnetznamen sein. Die DsValidateSubnetName-Funktion gibt an, ob ein angegebener Subnetzname gültig ist.