Fonctions de OpenDSObject() ADsOpenObject(), ADsGetObject(), peuvent générer des requêtes DNS incorrectes

Traductions disponibles Traductions disponibles
Numéro d'article: 258507 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Symptômes

Si un nom de serveur est passé au service Active Directory Interface (ADSI) ADsOpenObject, ADsGetObject ou fonction IADsOpenDSObject::OpenDSObject, requêtes SRV non valides sont envoyées au serveur DNS (Domain Name System) (DNS) configuré. Ces requêtes SRV contiennent les noms ordinateur hôte et ne doivent pas être envoyées au réseau. Ce comportement ne provoque pas de problèmes, mais peut générer un trafic réseau supplémentaire. Il n'y a aucun problème si l'appel est une liaison sans serveur ou si le nom de domaine est passé aux fonctions ADSI. Par exemple, l'exemple de fonction suivant ne génère pas une requête non valide si domain .com est un nom de domaine :
ADsOpenObject("LDAP://domain.com/DC=domain, DC=com",...)
L'exemple de fonction suivante génère et de requête non valide si server est un nom de serveur :
ADsOpenObject("LDAP://server/DC=domain, DC=com",...)
La requête non valide est générée est :
_ldap._tcp.my-site._sites.dc._msdcs. server

Cause

La requête non valide est transmise au cours du processus de déterminer si le nom passé est un nom de serveur ou un nom de domaine.

Lorsque ldap_open/ldap_init (appelée indirectement par ADsOpenObject, ADsGetObject ou OpenDSObject) est appelée avec des noms de serveur, il n'a aucun moyen de savoir si l'argument est un nom de serveur ou un nom de domaine. Dans ces cas DsGetDcName fonction est appelée si le paramètre est un domaine. Lorsque l'argument n'est pas un nom de domaine, mais est plutôt un nom de serveur, l'appel de localisateur de contrôleur de domaine génère des requêtes d'enregistrements SRV incorrects basées sur le nom du serveur. Pour résoudre ce problème, un indicateur appelé LDAP_OPT_AREC_EXCLUSIVE est ajouté qui peut être passé à ldap_set_option avant l'appel de connexion à. Cet indicateur indique au client LDAP que le paramètre est un nom de serveur, donc aucun localisateur d'appel ne doit être traité. Cependant, ce nouvel indicateur n'était pas exposé dans ADSI.

Résolution

Pour résoudre ce problème, procurez-vous le dernier service pack pour Windows 2000. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
260910Comment faire pour obtenir le pack de service Windows 2000 plus récent
Pour résoudre ce problème, un nouvel indicateur, ADS_SERVER_BIND, a été ajouté dans iads.h. Utilisez cet indicateur de nouveau avec un OR avec le quatrième paramètre des fonctions ADsOpenObject et OpenDSObject si un nom de serveur est passé dans. Utilisez ADsOpenObject à la place de ADsGetObject si un nom de serveur est passé dans car il n'existe aucun mécanisme pour transmettre le nouvel indicateur à ADsGetObject.

Ce correctif fournit la base de la réparation du problème. Toutefois, vous pouvez supprimer les requêtes non valides uniquement si les programmes d'appeler ces fonctions utilisent le nouvel indicateur.

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section "S'applique à".Ce problème a été corrigé dans Windows 2000 Service Pack 1.

Plus d'informations

Pour plus d'informations sur la façon d'installer Windows 2000 et les correctifs Windows 2000 en même temps, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
249149Installation des correctifs Microsoft Windows 2000 et Windows 2000

Propriétés

Numéro d'article: 258507 - Dernière mise à jour: mercredi 21 février 2007 - Version: 3.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professionnel
Mots-clés : 
kbmt kbhotfixserver kbbug kbfix kbqfe kbwin2000sp1fix KB258507 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 258507
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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