工作目标和失败目标都是同一域中的计算机。代码低于以下。当我对我域中的某些机器使用它时,我得到一个System.DirectoryServices.AccountManagement.PrincipalOperationException,并显示一条消息:“在尝试检索授权组时,发生了错误(1332)。” GetAuthorizationGroups()抛出错误。
注意:在两种情况下,我用来连接的用户名都是本地管理员。
PrincipalContext ctx = new PrincipalContext(ContextType.Machine, machineName, domainname + "\\" + adminusername, pass);
List<Principal> retList = new List<Principal>();
using (var user = UserPrincipal.FindByIdentity(ctx, probedusername))
{
if (user != null)
{
PrincipalSearchResult<Principal> groups = user.GetAuthorizationGroups();
foreach (Principal group in groups)
{
retList.Add(group);
}
}
}
答案 0 :(得分:0)
我不知道你是否还有这方面的问题......我的问题几乎完全相同,我们也无法解决最长的问题。最后,我们从PrincipalContext实例中删除了用户名/密码,它在所有机器上运行......真的很奇怪,但它让我们感到高兴。
没有用户名/密码,它在当前帐户下运行,通常所有经过身份验证的用户都可以从同一域(至少在我们的域中)的远程计算机上读取组信息。使用指定的用户名/密码,我们将获得非常奇怪的结果,有时只有域组会回来,有时根本没有组,有时会访问被拒绝的消息......无论如何这对我们有用。