【问题标题】:C# Access is Denied when adding user to Active Directory将用户添加到 Active Directory 时 C# 访问被拒绝
【发布时间】:2015-06-22 05:41:35
【问题描述】:
string strName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; // "MW\\dalem"
        string domainName = strName.Split('\\')[0];
        using(var pc = new PrincipalContext(ContextType.Domain, domainName))
            {
                using (var user = new UserPrincipal(pc, Admin-Username, Admin-Pass, true))
                {
                    fullname = fname + " " + lname;
                    user.SamAccountName = username;
                    user.SetPassword(password);
                    user.GivenName = fname;
                    user.Surname = lname;
                    user.DisplayName = fullname;
                    user.Save();
                }
            }

我正在尝试将用户添加到活动目录,我收到错误提示

“访问被拒绝”

user.Save(); 行。我不明白为什么,因为我拥有完整的管理员权限。这是我尝试将用户添加到活动目录的第三或第五种方法。

【问题讨论】:

  • Visual Studio 是否处于管理员模式?
  • 不是,但现在我以管理员模式打开它,我收到错误消息“对象已存在”,但我在 Active Directory 用户中看不到它
  • 你不能只使用NULL作为域名来获取你当前连接的域吗?
  • 问题是视觉工作室没有像蜘蛛侠指出的那样处于管理员模式。它说“对象已经存在”但我在用户列表中看不到用户的原因是因为我忘记启用该帐户。它在那里,只是没有被激活。

标签: c# active-directory


【解决方案1】:

您可以通过保存数据库上下文来实现此目的:

string strName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; // "MW\\dalem"
        string domainName = strName.Split('\\')[0];
        using(var pc = new PrincipalContext(ContextType.Domain, domainName))
            {
                using (var user = new UserPrincipal(pc, Admin-Username, Admin-Pass, true))
                {
                    fullname = fname + " " + lname;
                    user.SamAccountName = username;
                    user.SetPassword(password);
                    user.GivenName = fname;
                    user.Surname = lname;
                    user.DisplayName = fullname;
                    userPrincipal.Add(user);
                }
            pc.SaveChanges();
            }

【讨论】:

  • 主上下文没有那个方法
  • 是类型的上下文-实体数据模型(edmx)?
  • umm idk 关于那个,因为我是新手,但是 pc.Savechanges();带有下划线,当我将鼠标悬停在其上时,它显示“System.DirectoryServices.AccountManagement.PrincipalContext 不包含“SaveChanges”的定义,并且没有扩展方法“SaveChanges”第一个类型的集合......等等”
猜你喜欢
  • 1970-01-01
  • 2018-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多