C# 检查组成员资格

C# 检查组成员资格,c#,active-directory,C#,Active Directory,我一直在疯狂地跑来跑去,试图让它正常工作,但它似乎拒绝了。我在web上找到的所有示例都与此非常相似,只是PrincipalContext、UserPrincipal和GroupPrincipal的声明方式有所不同。有些是由返回对象的函数声明的,有些则直接声明。让我沮丧的是,当我运行这段代码时: PrincipalContext oPrincipalContext = GetPrincipalContext(sDefaultRootOU); UserPrincipal oU

我一直在疯狂地跑来跑去,试图让它正常工作,但它似乎拒绝了。我在web上找到的所有示例都与此非常相似,只是PrincipalContext、UserPrincipal和GroupPrincipal的声明方式有所不同。有些是由返回对象的函数声明的,有些则直接声明。让我沮丧的是,当我运行这段代码时:

PrincipalContext oPrincipalContext = GetPrincipalContext(sDefaultRootOU);
            UserPrincipal oUserPrincipal = UserPrincipal.FindByIdentity(oPrincipalContext, IdentityType.SamAccountName, sUserName);
            GroupPrincipal oGroupPrincipal = GroupPrincipal.FindByIdentity(oPrincipalContext, sGroupName);

            bool isUserGroupMember = oUserPrincipal.IsMemberOf(oGroupPrincipal);
无论我做什么,isUserGroupMember总是返回为false,即使所讨论的用户是组的成员。有没有想过我做错了什么?任何帮助都将不胜感激

谢谢


更新这很疯狂,但我已设法将问题隔离到一个组,即域用户组,我已对照其他“内置”广告组验证了这一点,并且成员身份显示正确。有什么想法吗?

虽然不是一个完整的答案,但似乎“域用户”组是唯一返回此结果的组,而不管其成员身份如何。由于默认情况下所有用户都是该组的成员,因此我在其中写了一行,如果指定的组是“域用户”,则忽略该组