活动目录group.members.contains崩溃“未知错误的”用户“

时间:2011-02-15 15:03:28

标签: c# active-directory

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个项目,但会员检查崩溃

1 个答案:

答案 0 :(得分:0)

所以,我发现它是一个Access拒绝错误代码。重写此代码(获取用户的组,然后检查它们是否包含指定的组)后,它可以正常工作