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

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.
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.MoveNextWendMsgBox "done"Set oConn = NothingSet oRS = NothingSet oConfig = NothingSet 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

ID do Artigo: 269181 - Última Revisão: 02/08/2006 22:15:42 - Revisão: 3.0

Microsoft Active Directory Service Interfaces 2.5, Microsoft Active Directory Service Interfaces 2.5, Microsoft Active Directory Service Interfaces 2.5

  • kbmt kbhowto kbmsg KB269181 KbMtpt
Comentários