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

C# Directory Service: How to get sub groups of groups in AD

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

假设我在 AD 中有以下组:

Master Group
     Group 1
     Group 2

我想获取属于主组的所有组。所以在我的例子中,我想得到一个包含 Group 1 和 Group 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 时,将跳过所有子组(它 returns 仅叶对象,如用户或计算机)。

您可以改为传递 false 并过滤掉所有非群组成员。但这意味着您只能获得直接成员组,并且需要有一些方法来获得所有嵌套成员组(例如递归方法)。