Verzeichnisdienstfunktionen (AD DS)
Die Verzeichnisdienstfunktionen stellen ein Hilfsprogramm zum Suchen eines Domänencontrollers (DC) in einer Windows NT- oder Windows 2000-Domäne bereit. 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:
- DsAddressToSiteNames
- DsAddressToSiteNamesEx-
- DsDeregisterDnsHostRecords
- DsEnumerateDomainTrusts
- DsGetDcClose-
- DsGetDcName-
- DsGetDcNext-
- DsGetDcOpen
- DsGetDcSiteCoverage
- DsGetForestTrustInformationW
- DsGetSiteName-
- DsMergeForestTrustInformationW
- DsRoleFreeMemory
- DsRoleGetPrimaryDomainInformation
- DsValidateSubnetName
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. Bei NetBIOS-Domänennamen ist das Datagramm eine E-Mail-Nachricht. Bei DNS-Domänennamen ist das Datagramm eine LDAP UDP-Suche. Jede solche DC antwortet darauf, dass sie zurzeit betriebsbereit ist. Der erste zu beantwortende DC wird an den Anrufer zurückgegeben.
Der zurückgegebene DC-Wert wird zwischengespeichert, sodass nachfolgende Aufrufer den vorherigen Algorithmus nicht wiederholen müssen und alle Aufrufer dazu ermutigen, denselben DC zu verwenden. Dadurch wird sichergestellt, dass ein einzelner Client einen konsistenten Überblick über den Inhalt des DC hat.
Bei der Suche nach einem DC nach DNS-Domänennamen versucht der DC-Locator, einen DC auf der "nächstgelegenen" Website zu finden. Jeder DC registriert zusätzliche DNS-Einträge, die angeben, in welcher Website sich der DC befindet und welche Websites der DC enthält. Der DC-Locator sucht zuerst nach diesem websitespezifischen DNS-Eintrag, bevor nach dem DNS-Eintrag gesucht wird, der nicht standortspezifisch ist, wodurch ein DC auf dieser Website bevorzugt wird. 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 der Website, die den Client enthält, zusammen mit einem Indikator, ob dieser DC diese Website 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 auf dem Standort zu finden.
Um den Namen der Website zu finden, die den Client enthält, verwenden Sie die DsGetSiteName--Funktion. Die Namen der Objekte im Container "Configuration/Sites/Subnet" müssen gültige Subnetznamen sein. Die funktion DsValidateSubnetName gibt an, ob ein angegebener Subnetzname gültig ist.