static void Main(string[] args)
{
var groupNames = args;
var principalContext = new PrincipalContext(ContextType.Domain);
var user = UserPrincipal.FindByIdentity(principalContext, Environment.UserName);
var groupPrincipals = new List<GroupPrincipal>();
groupPrincipals.AddRange(groupNames.Select(name => GroupPrincipal.FindByIdentity(principalContext, IdentityType.Name, name)));
groupPrincipals = groupPrincipals.Where(gp => gp != null).ToList();
Console.WriteLine(groupPrincipals.Any(gp => gp.Members.Contains(user)));
Console.ReadKey();
}
当我尝试运行此代码时,它会崩溃
Console.WriteLine(groupPrincipals.Any(gp => gp.Members.Contains(user)));
有例外:
PrincipalOperationException
Unknown error (0x80005000)
我正在尝试确定我是否是“用户”组的成员.Debug视图向我显示“用户”包含3个项目,但会员检查崩溃
答案 0 :(得分:0)
所以,我发现它是一个Access拒绝错误代码。重写此代码(获取用户的组,然后检查它们是否包含指定的组)后,它可以正常工作