![](/img/trans.png)
[英]Add multiple users to an AD group *quickly* using AccountManagement
[英]Adding an AD User to a Machine Local group via AccountManagement
我想实现通过User和GroupPrincipals将AD用户添加到本地计算机组的方法,并且我认为它可以很好且容易地工作。 不幸的是,我继续收到“常规访问被拒绝”错误。 我可能不了解正确的身份验证,但是我认为我已经建立了正确的访问权限。 这是被称为的代码片段:
var ctx = new PrincipalContext(ContextType.Machine,
Environment.MachineName,
ConfigurationManager.AppSettings["MyUser"],
ConfigurationManager.AppSettings["MyPW"]);
var grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.Name, "LocalGrp");
var adUser = ADService.GetUserByDomainUserName(vModel.ContactId);
var adCtx = new PrincipalContext(ContextType.Domain,
"myDomain.com",
ConfigurationManager.AppSettings["MyUser"],
ConfigurationManager.AppSettings["MyPW"])
;
var user = UserPrincipal.FindByIdentity(adCtx,
IdentityType.Guid,
adUser.UserGuid.ToString());
if (grp != null &&
user != null)
{
if(!user.IsMemberOf(grp))
{
grp.Members.Add(user);
grp.Save();
}
}
找到了用户,找到了组,但是当我添加并到达grp.Save()步骤时,将被视为General Access Denied异常。 通过“ MyUser”和“ MyPW”打开ctx,我认为这将允许在计算机上进行组操作,因为该帐户是计算机本地管理员组的一部分。 我不能以这种方式混合计算机/域上下文,还是我只是缺少一个身份验证问题?
您是否在管理模式下运行Visual Studio。 即使您的登录名具有管理员权限,但如果您没有以提升权限启动程序,则程序也需要提升自身才能使用这些权限。
看到:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.