Funciones del servicio de directorio (AD DS)
Las funciones del servicio de directorio proporcionan una utilidad para buscar un controlador de dominio (DC) en un dominio de Windows NT o Windows 2000. La arquitectura interactúa con clientes y servidores en todas las versiones de Windows NT y Windows 2000. Las siguientes funciones permiten a los desarrolladores trabajar con el controlador de dominio y la pertenencia a dominios en el servicio de directorio:
- DsAddressToSiteNames
- DsAddressToSiteNamesEx
- DsDeregisterDnsHostRecords
- DsEnumerateDomainTrusts
- DsGetDcClose
- DsGetDcName
- DsGetDcNext
- DsGetDcOpen
- DsGetDcSiteCoverage
- DsGetForestTrustInformationW
- DsGetSiteName
- DsMergeForestTrustInformationW
- DsRoleFreeMemory
- DsRoleGetPrimaryDomainInformation
- DsValidateSubnetName
El servicio Netlogon implementa el localizador de controlador de dominio, DsGetDcName. Cada controlador de dominio registra su nombre DNS en el servidor DNS y su nombre NetBIOS mediante un mecanismo específico del transporte, por ejemplo, en WINS. El localizador de controlador de dominio busca el nombre y, a continuación, envía un datagrama a, o pings, el controlador de dominio que registró el nombre. En el caso de los nombres de dominio netBIOS, el datagrama es un mensaje de mailslot. En el caso de los nombres de dominio DNS, el datagrama es una búsqueda UDP LDAP. Cada controlador de dominio de este tipo responde que indica que está operativa actualmente. El primer controlador de dominio para responder se devuelve al autor de la llamada.
El controlador de dominio devuelto se almacena en caché, por lo que los autores de llamadas subsiguientes no necesitan repetir el algoritmo anterior y animar a todos los autores de llamadas a usar ese mismo controlador de dominio. Esto garantiza que un único cliente tenga una vista coherente del contenido del controlador de dominio.
Al buscar un controlador de dominio por nombre de dominio DNS, el localizador de controlador de dominio intenta encontrar un controlador de dominio en el sitio "más cercano". Cada controlador de dominio registra registros DNS adicionales que indican en qué sitio se encuentra el controlador de dominio y en qué sitios incluye el controlador de dominio. El localizador de controlador de dominio busca primero este registro DNS específico del sitio antes de buscar el registro DNS que no es específico del sitio, lo que prefiere un controlador de dominio en ese sitio. Cuando el localizador de controlador de dominio envía un datagrama al controlador de dominio, el controlador de dominio busca la dirección IP del cliente en el contenedor configuration/Sites/Subnet del DS para buscar un objeto de subred. La propiedad siteObject del objeto de subred define el nombre del sitio que contiene el cliente. El controlador de dominio responde al ping con el nombre del sitio que contiene el cliente, junto con un indicador de si este controlador de dominio cubre ese sitio. Si el controlador de dominio no incluye ese sitio y el localizador de dc aún no ha intentado encontrar un controlador de dominio en ese sitio, el localizador de controlador de dominio intenta encontrar de nuevo un controlador de dominio en el sitio.
Para buscar el nombre del sitio que contiene el cliente, use la función DsGetSiteName . Los nombres de los objetos del contenedor Configuration/Sites/Subnet deben ser nombres de subred válidos. La función DsValidateSubnetName indica si un nombre de subred especificado es válido.