因此,我正在尝试以递归方式枚举 AD 组成员身份。此刻我有...
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "mine.domain.com");
GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.Name, "myADGroup");
if (grp != null)
{
foreach (Principal p in grp.GetMembers(true))
{
Console.WriteLine(p.Name);
}
}
当然,这一切都很好。它列出了作为组成员的每个用户以及作为嵌套在其中的组成员的所有用户,无论嵌套级别有多深。这是伟大的。
我真正需要的是知道用户来自这个小嵌套中的哪个组。
GRP-MainProject
-- GRP-Producers
-- GRP-Artists
-- UserA
对 GRP-MainProject 运行我当前的查询将返回 UserA - 我应该如何返回用户以及他继承 GRP-MainProject 成员资格的 GRP-Artists 的事实?
UserA 是大约 40 个组的成员,以防万一。编辑 - 值得一提的是,用户可以拥有来自多个嵌套组的组成员资格。
任何想法将不胜感激。