Funciones de OpenDSObject() ADsOpenObject(), ADsGetObject(), pueden generar consultas DNS incorrectas

Seleccione idioma Seleccione idioma
Id. de artículo: 258507 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Síntomas

Si se pasa un nombre de servidor al Interface (ADSI) de servicios de Active Directory ADsOpenObject , ADsGetObject o función IADsOpenDSObject::OpenDSObject , las consultas de servidor no válidas se envían al servidor Sistema de nombres de dominio (DNS) configurado. Estas consultas SRV contienen los nombres de host y no se deben enviar a la red. Este comportamiento no causa problemas, pero puede generar tráfico de red adicional. No hay ningún problema si la llamada es un enlace sin servidor o si el nombre de dominio se pasa a las funciones ADSI. Por ejemplo, la función de ejemplo siguiente no genera una consulta no válida si domain .com es un nombre de dominio:
ADsOpenObject("LDAP://domain.com/DC=domain, DC=com",...)
La función de ejemplo siguiente genera y consulta no válida si server es un nombre de servidor:
ADsOpenObject("LDAP://server/DC=domain, DC=com",...)
La consulta no válida que se genera es:
_ldap._tcp.My-site._sites.dc._msdcs. server

Causa

Se envía la consulta no válida durante el proceso de determinar si el nombre pasado es un nombre de servidor o un nombre de dominio.

Cuando se llama ldap_open/ldap_init (denominada indirectamente por ADsOpenObject , ADsGetObject o OpenDSObject ) con nombres de servidor, no tiene forma de saber si el argumento es un nombre de servidor o el nombre de dominio. En estos casos DsGetDcName de la función se llama para averiguar si el parámetro es un dominio. Cuando el argumento no es un nombre de dominio, pero en su lugar un nombre de servidor, la llamada de ubicador de controlador de dominio genera consultas incorrectas de registros de SRV según el nombre del servidor. Para resolver este problema, se agrega una marca denominada LDAP_OPT_AREC_EXCLUSIVE que puede pasarse a ldap_set_option antes de realizar la llamada a la conexión. Este indicador indica al cliente LDAP que el parámetro es un nombre de servidor, por lo que no se debe tratar ninguna llamada de localizador. Sin embargo, este indicador nuevo no se expone en ADSI.

Solución

Para resolver este problema, obtenga el Service Pack más reciente de Windows 2000. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
260910Cómo obtener el Service Pack más reciente para Windows 2000
Para resolver este problema, se ha agregado un nuevo indicador, ADS_SERVER_BIND, en iads.h. Utilice este indicador nuevo con una o con el cuarto parámetro de las funciones ADsOpenObject y OpenDSObject si se pasa un nombre de servidor. Utilice ADsOpenObject en lugar de ADsGetObject si se pasa un nombre de servidor porque no hay ningún mecanismo para pasar el nuevo indicador a ADsGetObject .

Esta corrección proporciona la base para solucionar el problema. Sin embargo, puede quitar las consultas no es válidas sólo si los programas que llamar a estas funciones utilizan el nuevo indicador.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".Este problema se corrigió por primera vez en Windows 2000 Service Pack 1.

Más información

Para obtener más información acerca de cómo instalar Windows 2000 y revisiones de Windows 2000 al mismo tiempo, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
249149Instalar revisiones de Microsoft Windows 2000 y Windows 2000

Propiedades

Id. de artículo: 258507 - Última revisión: miércoles, 21 de febrero de 2007 - Versión: 3.4
La información de este artículo se refiere a:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
Palabras clave: 
kbmt kbhotfixserver kbbug kbfix kbqfe kbwin2000sp1fix KB258507 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 258507

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com