怎样搜索Active Directory中的计算机、用户?可能大家都会用到“Active Directory用户和计算机”控制台进行搜索。
        但是很多时候,默认的搜索条件并不能满足我们的需求。
        比如说,需要搜索域中所有开通OWA(Exchange Outlook Web Access)的用户。这就需要用到高级查询技巧了。 

        还好,微软的Active Directory是一个兼容的LDAP(轻量级目录访问协议)服务器,因此,我们可以实现一些标准化的LDAP查询语句。

       首先看看如何使用LDAP查询语句(微软官方KB)

       下例描述了如何“Active Directory用户和计算机”执行搜索: 

       1. 打开“Active Directory用户和计算机”。

        2. 右击域对象并选择查找。 


       3. 单击查找旁边的下拉列表,然后选择自定义搜索

       4. 从下一屏幕中,选择高级选项卡。

       5. 在输入LDAP查询下,这时候就可以输入相应的LDAP语句了。 



        本示例尝试查找职务为prez或姓名以test开头的所有对象。如果您单击立即查找,应该能够看到相应的输出,如以下屏幕截图所示。 
 



        再回到前面的例子,搜索域中所有开通OWA(Exchange Outlook Web Access)的用户的LDAP语句是:

(&(&(objectcategory=Person)(homeMDB=*)(|(!(protocolSettings=*))(protocolSettings=*http§1§1§*)))) 

        注意,仅仅使用(protocolsettings=*HTTP§0§1*)这个语句是不能完整找出域中所有开通OWA的用户的。
因为有时候,默认情况下,新建用户的时候,用户的OWA为开通状态,而该值为空,所以查找会出错。