如何通过使用按位的筛选器查询 Active Directory

文章翻译 文章翻译
文章编号: 269181 - 查看本文应用于的产品
展开全部 | 关闭全部

概要

在 Active Directory 对象上的某些属性由按位标志组成。您可能需要查询返回符合所设置的特定位的对象使用按位运算符的对象。使用轻型目录访问协议 (LDAP) 匹配规则控件来执行此操作。

更多信息

LDAP 匹配规则的格式的语法如下:
attributenameruleOID: =
其中 attributename,是的属性 ruleOID 的 LDAPDisplayName 是为在匹配的规则控件的 ID (OID) 对象和 是您要用于比较的十进制值。您需要从十六进制转换为十进制。

ruleOID 的值可以是下列值之一:
  • 1.2.840.113556.1.4.803-这是 LDAP_MATCHING_RULE_BIT_AND 规则。匹配的规则是仅当从属性的所有位与值都匹配,则该属性值为 true。此规则就像按位与运算符。
  • 1.2.840.113556.1.4.804-这是 LDAP_MATCHING_RULE_BIT_OR 规则。匹配的规则是如果该属性从任何位匹配值,则该属性值为 true。此规则就像按位或运算符。
一个示例是当您希望查询 Active Directory 的用户类对象将被禁用的。属性中保存此信息是 userAccountControl 属性。此属性是由不同的标志的组合组成的。设置想要禁用该对象的标志是 UF_ACCOUNTDISABLE,0x02 (十进制 2) 的值。指定 userAccountControl UF_ACCOUNTDISABLED 位集的按位比较筛选器将类似于这样:
(UserAccountControl:1.2.840.113556.1.4.803:=2)
下面的 Microsoft Visual Basic 示例脚本使用上述按位比较筛选器:
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
				

参考

有关如何使用 LDAP 匹配规则,请参阅平台软件开发工具包 (SDK) 的详细信息。在目录中找到此信息:

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 

				
有关如何使用 LDAP 匹配规则,请参阅平台 SDK 中包括这些示例的详细信息。这些示例都位于 \Microsoft PlatformSDK\Samples\NetDs\ADSI\Samples\ActiveDir\Attributes 和 SDK\Samples\NetDs\ADSI\Samples\ActiveDir\GetSchemaInfo 文件夹。

属性

文章编号: 269181 - 最后修改: 2006年2月8日 - 修订: 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 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 269181
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

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