Como consultar o Active Directory usando um filtro bit a bit

Traduções deste artigo Traduções deste artigo
ID do artigo: 269181 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sumário

Alguns atributos nos objetos do Active Directory são compostos de sinalizadores de bit a bit. Talvez você precise consultar para objetos usando um operador bit a bit para retornar apenas os objetos que correspondam a um bit específico que está sendo definido. Use os controles de regra de correspondência (LIGHTWEIGHT Directory Access Protocol) para fazer isso.

Mais Informações

O formato da regra de correspondência de LDAP tem a seguinte sintaxe:
ATTRIBUTENAME : ruleOID : = valor
onde attributename é o LDAPDisplayName do atributo, ruleOID é a identificação de objeto (OID) para o controle de regra correspondente, e valor é o valor decimal que você deseja usar para comparação. Você precisará converter de hexadecimal em decimal.

O valor de ruleOID pode ser uma das seguintes opções:
  • 1.2.840.113556.1.4.803 - Esta é a regra LDAP_MATCHING_RULE_BIT_AND. A regra de correspondência é verdadeira somente se todos os bits da propriedade corresponde ao valor. Essa regra é como o operador AND bit a bit.
  • 1.2.840.113556.1.4.804 - Esta é a regra LDAP_MATCHING_RULE_BIT_OR. A regra de correspondência é verdadeira se qualquer bits da propriedade corresponde ao valor. Essa regra é como o operador OR bit a bit.
Um exemplo é quando você deseja consultar o Active Directory para objetos de classe de usuário estão desabilitados. O atributo que armazena essas informações é o atributo userAccountControl . Esse atributo é composto de uma combinação de sinalizadores diferentes. O sinalizador para definir o objeto que você deseja desativar é UF_ACCOUNTDISABLE, que tem um valor de 0 x 02 (2 decimal). O filtro de comparação bit a bit que especifica userAccountControl com o conjunto de bits UF_ACCOUNTDISABLED poderia se parecer com isso:
(UserAccountControl:1.2.840.113556.1.4.803:=2)
o script de exemplo Microsoft Visual Basic a seguir usa acima filtro comparação bit a bit:
Set oNSP = GetObject("LDAP://Win2000Server/rootdse")
Set oConfig = GetObject("LDAP://Win2000Server/" & oNSP.get("DefaultNamingContext"))

Set oConn = CreateObject("ADODB.Connection")
oConn.Provider = "ADSDSOObject"
oConn.Open ""

strQuery = "<" & oConfig.ADsPath & ">;(&(objectCategory=person)(objectClass=User)(userAccountControl:1.2.840.113556.1.4.803:=2));name,objectClass;subtree"

Set oRS = oConn.Execute(strQuery)
While Not oRS.EOF
  MsgBox oRS.Fields("name") 
  oRS.MoveNext
Wend

MsgBox "done"

Set oConn = Nothing
Set oRS = Nothing
Set oConfig = Nothing
Set oNSP = Nothing
				

Referências

Para obter mais informações sobre como usar a regra de correspondência de LDAP, consulte Platform Software Development Kit (SDK). Essas informações são encontradas em conteúdo em:

Networking and Directory Services
  Active Directory, ADSI, and Directory Services
     Active Directory
        Using Active Directory
           Searching the Active Directory
             Creating a Query Filter
                 How to Specify Comparison Values 

				
Para obter mais informações sobre como usar a regra de correspondência de LDAP, consulte os exemplos incluídos no SDK da plataforma. Esses exemplos estão localizados em \Microsoft PlatformSDK\Samples\NetDs\ADSI\Samples\ActiveDir\Attributes de SDK\Samples\NetDs\ADSI\Samples\ActiveDir\GetSchemaInfo pastas.

Propriedades

ID do artigo: 269181 - Última revisão: quarta-feira, 8 de fevereiro de 2006 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft Active Directory Service Interfaces 2.5
  • Microsoft Active Directory Service Interfaces 2.5
  • Microsoft Active Directory Service Interfaces 2.5
Palavras-chave: 
kbmt kbhowto kbmsg KB269181 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 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: 269181
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

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