C#目录服务:如何在AD中获取组的子组

C#目录服务:如何在AD中获取组的子组,c#,active-directory,C#,Active Directory,如何使用目录服务从组中获取子组 假设我在AD中有以下组: Master Group Group 1 Group 2 我想得到属于主组的所有组。所以在我的例子中,我想得到一个包含组1和组2的列表 以下是我的部分代码: using (var ctx = new PrincipalContext(ContextType.Domain, "myDomain.COM")) { var group = GroupPrincipal.FindByIdentity(ctx, "Ma

如何使用目录服务从组中获取子组

假设我在AD中有以下组:

Master Group
     Group 1
     Group 2
我想得到属于主组的所有组。所以在我的例子中,我想得到一个包含组1和组2的列表

以下是我的部分代码:

using (var ctx = new PrincipalContext(ContextType.Domain, "myDomain.COM"))
{
    var group = GroupPrincipal.FindByIdentity(ctx, "Master Group");
    var results = group.Group();// returns nothing
}
GroupPrincipal
中没有
Group(bool)
方法
我猜你指的是GetMembers(bool)方法

true
传递给
GetMembers
时,跳过所有子组(它只返回叶对象,如用户或计算机)

您可以传递一个
false
,然后过滤掉所有非组成员。但这意味着您只需要获取直接成员组,并且需要有某种方法来获取所有嵌套成员组(例如递归方法)