加载AD组成员以包含嵌套组c#

时间:2013-05-10 10:18:23

标签: c# active-directory directoryservices

我使用AD来填充公司员工的名单 我有一个AD组,我正在迭代(使用System.DirectoryServices.AccountManagement)来填充列表。有问题的组包含一些嵌套组(在最近的公司合并之后),但似乎没有包含嵌套组成员。

// get the members of the specified AD group...
        GroupPrincipal group = adm.GetGroup(AdGroupName);            

        // iterate over its members
        foreach (Principal p in group.Members)
        {                
// get the data for the user...
            var groupMember = adm.GetUser(p.SamAccountName);

从这里我确定用户是否已启用且未过期,如果两者都为真,请将其名称添加到已排序的列表(我将其缓存24小时),因为它的大小。
是否需要做任何事情来包含嵌套组,或者我必须将第二组追加到最后?

1 个答案:

答案 0 :(得分:1)

好的,所以更多谷歌搜索,我发现了......

foreach (Principal p in @group.GetMembers(true))

因此,您不必获得成员,而是递归获得所有成员!