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

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 269181
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。
概要
在 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.MoveNextWendMsgBox "done"Set oConn = NothingSet oRS = NothingSet oConfig = NothingSet 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 文件夹。

警告:本文已自动翻译

属性

文章 ID:269181 - 上次审阅时间:02/08/2006 22:15:42 - 修订版本: 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
反馈