簡體   English   中英

通過AccountManagement將AD用戶添加到計算機本地組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM