Active directory LDAP查询以获取属于objectCategory user或Decent from user的所有对象

Active directory LDAP查询以获取属于objectCategory user或Decent from user的所有对象,active-directory,ldap,ldap-query,Active Directory,Ldap,Ldap Query,我正在尝试查找一个objectCategory查询,该查询将返回active directory中的所有“用户” 我认为这将像(objectCategory=user)一样简单。虽然这确实返回了我的大部分用户,但并没有返回所有用户 我的Active Directory中有一些组管理服务帐户(gMSA)。它们的objectCategory为msDS GroupManagedServiceAccount。当我查找时,它表明它有从用户派生的字段 这让我相信msDS GroupManagedServic

我正在尝试查找一个objectCategory查询,该查询将返回active directory中的所有“用户”

我认为这将像
(objectCategory=user)
一样简单。虽然这确实返回了我的大部分用户,但并没有返回所有用户

我的Active Directory中有一些组管理服务帐户(gMSA)。它们的objectCategory为msDS GroupManagedServiceAccount。当我查找时,它表明它有从用户派生的字段

这让我相信msDS GroupManagedServiceAccount是user的一个子类。这就引出了我的问题:


是否有一种方法表明我需要所有属于objectCategory用户的对象以及所有从objectCategory用户派生的对象?通过
objectClass
而不是
objectCategory
搜索:

(objectClass=user)

该属性已开始在Windows Server 2008中编制索引,因此只要您运行2008+,它将与通过
objectCategory
进行搜索一样快,这并不是对粗体问题的完整回答,但针对您的特定情况的解决方法是使用or表达式


(|(objectCategory=person)(objectCategory=msDS-GroupManagedServiceAccount))

您可以通过匹配的
对象类来完成吗?这是可行的,因为所有父类都存在。