Directory Service Functions (AD DS)

De adreslijstservicefuncties bieden een hulpprogramma voor het vinden van een domeincontroller (DC) in een Windows NT- of Windows 2000-domein. De architectuur communiceert met clients en servers in alle versies van Windows NT en Windows 2000. Met de volgende functies kunnen ontwikkelaars werken met de domeincontroller en het domeinlidmaatschap in de adreslijstservice:

De DC-locator, DsGetDcName, wordt geïmplementeerd door de Netlogon-service. Elke DC registreert de DNS-naam op de DNS-server en de NetBIOS-naam met behulp van een transportspecifiek mechanisme, bijvoorbeeld in WINS. De DC-locator zoekt de naam op en verzendt vervolgens een datagram naar, of pingt, de DC die de naam heeft geregistreerd. Voor NetBIOS-domeinnamen is het datagram een mailslotbericht. Voor DNS-domeinnamen is het datagram een LDAP UDP-zoekopdracht. Elk dergelijke domeincontroller reageert om aan te geven dat deze momenteel operationeel is. De eerste domeincontroller die moet reageren, wordt teruggezet naar de beller.

De geretourneerde domeincontroller wordt in de cache opgeslagen, zodat volgende bellers het voorgaande algoritme niet hoeven te herhalen en alle bellers aan te moedigen om dezelfde domeincontroller te gebruiken. Dit zorgt ervoor dat één client een consistente weergave heeft van de inhoud van de domeincontroller.

Bij het zoeken naar een DC op DNS-domeinnaam probeert de DC-locator een DC te vinden op de dichtstbijzijnde site. Elke DC registreert extra DNS-records die aangeven op welke site de DC zich bevindt en welke sites de DC bevat. De DC-locator zoekt eerst naar deze sitespecifieke DNS-record voordat wordt gezocht naar de DNS-record die niet sitespecifiek is, dus liever een DC op die site. Wanneer de DC-locator een datagram naar de DC verzendt, zoekt de DC het IP-adres van de client op in de container Configuratie/Sites/Subnet van de DS om een subnetobject te vinden. De eigenschap siteObject van het subnetobject definieert de naam van de site die de client bevat. De domeincontroller reageert op de ping met de naam van de site die de client bevat, samen met een indicator of deze DC betrekking heeft op die site. Als de domeincontroller deze site niet bevat en de DC-locator nog niet heeft geprobeerd een DC op die site te vinden, probeert de DC-locator opnieuw een DC op de site te vinden.

Gebruik de functie DsGetSiteName om de naam van de site met de client te vinden. De namen van de objecten in de container Configuratie/Sites/Subnet moeten geldige subnetnamen zijn. De functie DsValidateSubnetName geeft aan of een opgegeven subnetnaam geldig is.