Active directory dsget使用什么来查询目录?

Active directory dsget使用什么来查询目录?,active-directory,ldap,adldap,Active Directory,Ldap,Adldap,我所在的组织拥有一个具有非常深层嵌套组结构的Active Directory。我想查询目录,从Linux机器递归查找组的用户成员。在Windows计算机上 dsget group "dn_of_group" -members -expand 这正是我想要的,而且做得很快。当我试图通过LDAP和 (memberOf:1.2.840.113556.1.4.1941:=dn_of_group) 查询运行几乎需要一分钟的时间。dsget是在后台使用LDAP,还是使用其他方法查询目录?如果是这样的话,

我所在的组织拥有一个具有非常深层嵌套组结构的Active Directory。我想查询目录,从Linux机器递归查找组的用户成员。在Windows计算机上

dsget group "dn_of_group" -members -expand
这正是我想要的,而且做得很快。当我试图通过LDAP和

(memberOf:1.2.840.113556.1.4.1941:=dn_of_group)
查询运行几乎需要一分钟的时间。
dsget
是在后台使用LDAP,还是使用其他方法查询目录?如果是这样的话,我有没有办法也使用它

编辑: 阐明了我需要的成员是用户。

带命名空间的framework 3.5提供了一种方法,可递归搜索所有组并返回用户所属的组。返回的集合还可以包括系统将考虑用户作为授权目的的成员的附加组。

UserPrincipal.GetAuthorizationGroups()
此方法返回的组可能包括来自不同于主体的作用域和存储区的组。例如,如果主体是DN为“CN=SpecialGroups,DC=Fabrikam,DC=com”的AD DS对象,则返回的集合可以包含属于“CN=NormalGroups,DC=Fabrikam,DC=com”的组


在另一个方向上,您可以:

GroupPrincipal.GetMembers(bool recursive)

请看

我需要换个方向。即查找指定组的所有用户成员,而不是查找指定用户所属的所有组。