Fonctions de service d’annuaire (AD DS)
Les fonctions de service d’annuaire fournissent un utilitaire pour localiser un contrôleur de domaine (DC) dans un domaine Windows NT ou Windows 2000. L’architecture interagit avec les clients ainsi que les serveurs dans toutes les versions de Windows NT et Windows 2000. Les fonctions suivantes permettent aux développeurs d’utiliser le contrôleur de domaine et l’appartenance au domaine dans le service d’annuaire :
- DsAddressToSiteNames
- DsAddressToSiteNamesEx
- DsDeregisterDnsHostRecords
- DsEnumerateDomainTrusts
- DsGetDcClose
- DsGetDcName
- DsGetDcNext
- DsGetDcOpen
- DsGetDcSiteCoverage
- DsGetForestTrustInformationW
- DsGetSiteName
- DsMergeForestTrustInformationW
- DsRoleFreeMemory
- DsRoleGetPrimaryDomainInformation
- DsValidateSubnetName
Le localisateur dc, DsGetDcName, est implémenté par le service Netlogon. Chaque contrôleur de domaine inscrit son nom DNS sur le serveur DNS et son nom NetBIOS à l’aide d’un mécanisme spécifique au transport, par exemple dans WINS. Le localisateur de contrôleurs de domaine recherche le nom, puis envoie un datagramme à, ou effectue un test ping, le contrôleur de domaine qui a inscrit le nom. Pour les noms de domaine NetBIOS, le datagramme est un message maillot. Pour les noms de domaine DNS, le datagramme est une recherche UDP LDAP. Chacun de ces contrôleurs de domaine répond indiquant qu’il est actuellement opérationnel. Le premier contrôleur de domaine à répondre est retourné à l’appelant.
Le contrôleur de domaine retourné est mis en cache, de sorte que les appelants suivants n’ont pas besoin de répéter l’algorithme précédent et d’encourager tous les appelants à utiliser ce même contrôleur de domaine. Cela garantit qu’un seul client a une vue cohérente du contenu du contrôleur de domaine.
Lorsque vous recherchez un contrôleur de domaine par nom de domaine DNS, le localisateur de contrôleurs de domaine tente de trouver un contrôleur de domaine dans le site « le plus proche ». Chaque contrôleur de domaine inscrit des enregistrements DNS supplémentaires indiquant le site dans lequel se trouve le contrôleur de domaine et les sites inclus par le contrôleur de domaine. Le localisateur de contrôleurs de domaine recherche d’abord cet enregistrement DNS spécifique au site avant de rechercher l’enregistrement DNS qui n’est pas spécifique au site, préférant ainsi un contrôleur de domaine dans ce site. Lorsque le localisateur de contrôleur de domaine envoie un datagramme au contrôleur de domaine, le contrôleur de domaine recherche l’adresse IP du client dans le conteneur Configuration/Sites/Sous-réseau de la DS pour rechercher un objet de sous-réseau. La propriété siteObject de l’objet de sous-réseau définit le nom du site qui contient le client. Le contrôleur de domaine répond au test ping avec le nom du site qui contient le client, ainsi qu’un indicateur indiquant si ce contrôleur de domaine couvre ce site. Si le contrôleur de domaine n’inclut pas ce site et que le localisateur de contrôleur de domaine n’a pas encore tenté de trouver un contrôleur de domaine dans ce site, le localisateur de contrôleurs de domaine tente à nouveau de trouver un contrôleur de domaine sur le site.
Pour rechercher le nom du site contenant le client, utilisez la fonction DsGetSiteName. Les noms des objets du conteneur Configuration/Sites/Sous-réseau doivent être des noms de sous-réseaux valides. La fonction DsValidateSubnetName indique si un nom de sous-réseau spécifié est valide.