A consultar o Active Directory utilizando um filtro ao nível do bit

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

Sumário

Alguns atributos em objectos do Active Directory são compostos por sinalizadores de bit a bit. Poderá ser necessário consultar objectos utilizando um operador de bits para devolver apenas os objectos que correspondam a um bit específico ser definido. Utilize os controlos de regra de correspondência de processos (LIGHTWEIGHT Directory Access Protocol) para o fazer.

Mais Informação

O formato da regra de correspondência de processos de LDAP tem a seguinte sintaxe:
attributename : ruleOID : = valor
sendo attributename LDAPDisplayName do atributo, ruleOID é o objecto ID (OID) para o controlo de regra de correspondência e valor é o valor decimal que pretende utilizar para comparação. Tem de converter de hexadecimal a decimal.

O valor de ruleOID pode ser um dos seguintes procedimentos:
  • 1.2.840.113556.1.4.803 - Esta é a regra LDAP_MATCHING_RULE_BIT_AND. A regra correspondente é verdadeira se todos os bits da propriedade corresponde ao valor. Esta 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 correspondente é verdadeira se qualquer bits da propriedade corresponde ao valor. Esta regra é como o operador OR bit a bit.
Um exemplo é quando pretende consultar o Active Directory para objectos de classe de utilizador estão desactivados. O atributo que contém esta informação é o atributo userAccountControl . Este atributo é composto por uma combinação de sinalizadores diferentes. O sinalizador para definir o objecto que pretende desactivar é UF_ACCOUNTDISABLE, que tem um valor de 0 x 02 (2 decimal). O filtro de comparação bit a bit especifica userAccountControl com o bit definido UF_ACCOUNTDISABLED seria semelhantes isto:
(UserAccountControl:1.2.840.113556.1.4.803:=2)
o seguinte script de exemplo do Microsoft Visual Basic utiliza o acima filtro de 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 utilizar a regra de correspondência de processos de LDAP, consulte o Platform Software Development Kit (SDK). Esta informação está localizada no índice 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 mais informações sobre como utilizar a regra de correspondência de processos de LDAP, consulte os exemplos incluídos no Platform SDK. Estes exemplos estão localizados na \Microsoft PlatformSDK\Samples\NetDs\ADSI\Samples\ActiveDir\Attributes os SDK\Samples\NetDs\ADSI\Samples\ActiveDir\GetSchemaInfo pastas.

Propriedades

Artigo: 269181 - Última revisão: 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 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: 269181
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

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