2
我想得到一个用户组的列表直接的成员(即没有嵌套)。实际上,以获取你的会员选项卡的广告中看到:我如何才能得到一个用户来自AD的组而不嵌套
我使用下列获得团体名单:
public List<GroupPrincipal> GetGroups(string userName)
{
List<GroupPrincipal> result = new List<GroupPrincipal>();
PrincipalContext myDomain = new PrincipalContext(ContextType.Domain, "mydomain.com");
UserPrincipal user = UserPrincipal.FindByIdentity(myDomain, userName);
if (user != null)
{
PrincipalSearchResult<Principal> groups = user.GetAuthorizationGroups();
try
{
// iterate over all groups
foreach (Principal p in groups)
{
// make sure to add only group principals
if (p is GroupPrincipal)
{
result.Add((GroupPrincipal)p);
}
}
}
catch (Exception e)
{
}
}
return result;
}
然而,这种检索所有群体,包括嵌套的。 (即,如果在上面的屏幕截图的列表中有一个组嵌套在另一个组中 - 两个组都返回)。
我该如何检索Active Directory中显示的列表?