Funções de OpenDSObject() ADsOpenObject(), ADsGetObject(), poderão gerar consultas de DNS incorrectas

Traduções de Artigos Traduções de Artigos
Artigo: 258507 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Se um nome de servidor é passado para a função de IADsOpenDSObject::OpenDSObject , ADsGetObject ou serviços do Active Directory interfaces (ADSI) ADsOpenObject , consultas SRV inválidas são enviadas para o servidor de DNS configurado. Estas consultas SRV contêm nomes de anfitrião e não devem ser enviadas para a rede. Este comportamento não causa problemas, mas pode gerar tráfego de rede adicionais. Não existe nenhum problema se a chamada é uma ligação sem servidor ou se o nome de domínio é passado para as funções ADSI. Por exemplo, a função de exemplo que se segue não gera uma consulta inválida se domain .com for um nome de domínio:
ADsOpenObject("LDAP://domain.com/DC=domain, DC=com",...)
A função de exemplo seguinte cria e consulta inválida se server for um nome de servidor:
ADsOpenObject("LDAP://server/DC=domain, DC=com",...)
A consulta inválida que é gerada é:
_ldap._tcp.My-site._sites.dc._msdcs. server

Causa

A consulta inválida é enviada durante o processo de determinar se o nome passado em é um nome de servidor ou um nome de domínio.

Quando ldap_open/ldap_init (chamada indirectamente pelo ADsOpenObject , ADsGetObject ou OpenDSObject ) é chamado com nomes de servidor,-não tem maneira de saber se o argumento é um nome de servidor ou nome de domínio. Nestes casos DsGetDcName função é chamada para ver se o parâmetro é um domínio. Quando o argumento não é um nome de domínio, mas em vez disso é um nome de servidor, a chamada de localizador de controlador de domínio gera consultas registos incorrectas do SRV, com base no nome do servidor. Para resolver este problema, é adicionado um sinalizador denominado LDAP_OPT_AREC_EXCLUSIVE que possam ser transmitidas para ldap_set_option anterior para a chamada de ligação. Este sinalizador indica ao cliente de LDAP que o parâmetro é um nome de servidor, pelo que não deve ser seguida nenhuma chamada de localizador. No entanto, este novo sinalizador não foi apresentado no ADSI.

Resolução

Para resolver este problema, obtenha o service pack mais recente do Windows 2000. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
260910Como obter o Windows 2000 service pack mais recente
Para resolver este problema, foi adicionado um novo sinalizador, ADS_SERVER_BIND, in iads.h. Utilize este novo sinalizador com um ou com o quarto parâmetro das funções ADsOpenObject e OpenDSObject se um nome de servidor é passado em. Utilize ADsOpenObject em vez de ADsGetObject se um nome de servidor é passado em porque não existe nenhum mecanismo para passar o sinalizador de novo para ADsGetObject .

Esta correcção fornece a base para corrigir o problema. No entanto, pode remover as consultas inválidas apenas se os programas que chama estas funções utilizam o sinalizador de novo.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".Este problema foi corrigido pela primeira vez no Windows 2000 Service Pack 1.

Mais Informação

Para obter mais informações sobre como instalar o Windows 2000 e as correcções do Windows 2000 ao mesmo tempo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
249149Instalar correcções do Microsoft Windows 2000 e Windows 2000

Propriedades

Artigo: 258507 - Última revisão: 21 de fevereiro de 2007 - Revisão: 3.4
A informação contida neste artigo aplica-se a:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
Palavras-chave: 
kbmt kbhotfixserver kbbug kbfix kbqfe kbwin2000sp1fix KB258507 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 258507

Submeter comentários

 

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