迭代活动目录中的大型组的成员

时间:2010-11-10 16:57:40

标签: c# active-directory directoryservices

我需要使用System.DirectoryServices类迭代组的成员。

我看到的问题是,在获取组的DirectoryEntry后,“members”属性仅包含1500个条目。实际上,该团队已超过4000人。

是否有一些设置告诉DirectoryServices类不能检索超过1500个组成员?

1 个答案:

答案 0 :(得分:3)

如果可以,请尝试使用.NET 3.5中的System.DirectoryServices.AccountManagement命名空间。我没有任何那么大的团体尝试 - 但你应该能够得到那些成员:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

GroupPrincipal group = GroupPrincipal.FindByIdentity("name of the group");

if(group != null) 
{ 
    foreach(Principal p in group.Members)
    {
       // do something
    }
}

您可以在MSDN杂志上阅读有关S.DS.AM命名空间及其新功能的更多信息:Managing Directory Security Principals in the .NET Framework 3.5