Erro LDAP/ADSI: "-2147463155 (8000500d)"

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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 243440
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Quando você usar o ADSI (Active Directory Services Interface) para consultar um protocolo (LDAP) versão 3 com servidor de diretório, você receberá a seguinte mensagem de erro:
Erro em tempo de execução '-2147463155 (8000500d). A propriedade Active Directory não pode ser encontrada no cache.
Causa
Esse problemas ocorre quando você tentar acessar um atributo que não está no cache de propriedade de ADSI.

Há três razões possíveis por que o atributo não está no cache de propriedade de ADSI:
  • O atributo pode não existir no objeto no diretório ou não tenha um valor definido; portanto, embora você solicita explicitamente o atributo, ele pode não ser trazido para o cache da propriedade ADSI.
  • Se o usuário tenta acessar esse atributo não tiver a permissão necessária para acessar essa propriedade, ADSI não é possível colocar este atributo para baixo para o cache da propriedade mesmo quando o usuário solicitar explicitamente o atributo.
  • O atributo pode ser um atributo operacional. Atributos operacionais não são carregados no cache de propriedade de ADSI por padrão. Um atributo operacional é um atributo que é implementado internamente por uma implementação de diretório específico que você deve solicitar explicitamente.
Resolução
Para carregar um atributo operacional no cache, você deve solicitar que ele seja carregado no cache de propriedades usando o método IADs::GetInfoEx explicitamente.
Mais Informações
A resolução é demonstrada pelo seguinte código de exemplo para Visual Basic e Visual C++.

No Visual Basic

' Add reference to "ActiveDS Type Library"Dim objIADs As IADsDim x As IADsOpenDSObjectDim ADsPath As StringSet x = GetObject("LDAP:")ADsPath = "LDAP://EXServer/cn=MYAlias/cn=recipients,ou=Site,o=Organization"Set objIADs = x.OpenDSObject(ADsPath, "cn=NTUser,dc=NTDomain", "password", 0)objIADs.GetInfoEx Array("Assoc-NT-Account","Home-MDB"), 0Debug.Print objIADs.Get("Assoc-NT-Account")Debug.Print objIADs.Get("Home-MDB")				

No Visual C++

// Link with Activeds.lib and Adsiid.lib files.#include <iads.h>#include <activeds.h>void main(){IADs *pADs = NULL;VARIANT var;HRESULT hr;hr = CoInitialize(NULL);hr = ADsGetObject(L"LDAP://EXServer/cn=MYAlias/cn=recipients,ou=Site,o=Organization",                  IID_IADs,                  (void**)&pADs); VariantInit(&var); // Retrieve "Assoc-Nt-Account" and "Home-MDB" attribute values.LPWSTR pszAttrs[] = { L"Assoc-NT-Account", L"Home-MDB" };DWORD dwNumber = sizeof( pszAttrs ) /sizeof(LPWSTR);hr = ADsBuildVarArrayStr( pszAttrs, dwNumber, &var );hr = pADs->GetInfoEx(var, 0);VariantClear(&var); hr = pADs->Get(L"Assoc-NT-Account",&var);  VariantClear(&var);hr = pADs->Get(L"Home-MDB", &var);VariantClear(&var);}				

Determinar o valor heurístico em um atributo no diretório do Exchange 5.5

Para exibir o valor da propriedade heurística em um atributo no diretório do Exchange 5.5, use o programa de administração do Exchange Server no modo raw ( admin.exe /r ) para consultar o atributo no esquema e exibir sua propriedade heurística . Se o terceiro bit é definido para 1 (quando você conta direita para a esquerda e começa com 0), o atributo é um atributo operacional.

Por exemplo, o atributo de Conta do Windows NT primário é chamado Assoc-NT-conta no LDAP. Quando você usa o LDAP e se referir a esse atributo, você deve usar o nome da mesma forma que ele é usado no código de exemplo listado neste artigo. Quando você procura o atributo no esquema do Exchange Directory, você deve usar o nome do Exchange para o atributo, que é a Conta principal do Windows NT . Após localizar o atributo no esquema, exiba as propriedades do objeto. A propriedade heurística da propriedade Conta principal do Windows NT ( NT-conta de ASSOC ) é definida como 12 no formato decimal (que é 1100 em binário). O terceiro bit é definido para 1, que significa que o bit é um atributo operacional.

Para obter mais informações sobre como determinar o nome LDAP de um atributo no Exchange 5.5, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
237682Como determinar o nome LDAP para objetos do Exchange Server

Determinar se um atributo é um atributo operacional no diretório do Windows 2000

Use o ADSI Edit para pesquisar o valor do atributo systemFlags no objeto attributeSchema no contexto de nomeação de esquema do Active Directory. Um atributo operacional é indicado pelo sinalizador ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED definido neste atributo.

Para obter mais informações, consulte o tópico seguinte da Ajuda do MSDN:
Referências
Para obter mais informações sobre como determinar nomes LDAP, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
237682Como determinar o nome LDAP para objetos do Exchange Server
Para obter mais informações sobre o bits heurísticas e atributos operacionais, consulte os seguintes tópicos Ajuda do MSDN:
Interface de serviços do Active Directory no ambiente do Microsoft Exchange 5.5
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnactdir/html/msdn_adsiexch.asp

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 243440 - Última Revisão: 12/05/2015 16:13:08 - Revisão: 3.2

Microsoft Active Directory Service Interfaces 2.5, Microsoft Exchange Server 5.5 Standard Edition, Microsoft Active Directory Service Interfaces 2.5

  • kbnosurvey kbarchive kbmt kbdswadsi2003swept kbdswadsi2003swept kbmsg kbprb KB243440 KbMtpt
Comentários