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

时间:2015-01-04 02:48:59

标签: c# active-directory

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

假设我在AD中有以下组:

Master Group
     Group 1
     Group 2

我希望获得属于Master Group的所有群组。所以在我的情况下,我想得到一个包含第1组和第2组的列表

以下是我的代码的一部分:

using (var ctx = new PrincipalContext(ContextType.Domain, "myDomain.COM"))
{
    var group = GroupPrincipal.FindByIdentity(ctx, "Master Group");
    var results = group.Group();// returns nothing
}

1 个答案:

答案 0 :(得分:2)

Group(bool)中没有GroupPrincipal方法 我猜你的意思是GetMembers(bool)方法?

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

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