环境:Visual Studio 2013,FrameWork 4.5,Telerik Controls,C#,WebForm应用程序
使用:System.DirectoryServices和System.DirectoryServices.AccountManagement
我正在制作搜索工具,以便用户可以在多个林/域中搜索活动目录组名称。
搜索返回一个或多个组的列表,我将该列表放在RadGrid(Telerik)中。网格的每一行都是AD组。我想显示一个附加信息,向用户显示该组中有多少(计数?)成员(用户)。
my_get::do_get
eof bad
感谢您的帮助
理查德
答案 0 :(得分:1)
一种方法是在调用GroupPrincipal
后使用.OfType()
将搜索结果的类型指定为FindAll()
,然后您可以将每个组的成员作为集合使用Members
集合属性或GetMembers()
方法,它有一个可选的布尔参数,用于指定是否需要递归搜索嵌套成员的组。此时,获取集合的大小。
List<AdGroup> listeGroupe = srch.FindAll()
.OfType<GroupPrincipal>()
.OrderBy(x => x.SamAccountName)
.Select(x => new AdGroup()
{
SamAccountName = x.SamAccountName,
Description = x.Description,
Domain = domain,
NbMember = x.Members.Count
})
.ToList();