将用户添加到Active Directory时,C#访问被拒绝
我正在尝试将用户添加到active directory,我得到的错误是 “访问被拒绝”将用户添加到Active Directory时,C#访问被拒绝,c#,active-directory,C#,Active Directory,我正在尝试将用户添加到active directory,我得到的错误是 “访问被拒绝” 在user.Save()中行。我不明白为什么,因为我有完全的管理权。这是我尝试将用户添加到active directory的第三种或第五种方法 您可以通过保存数据库上下文来实现这一点: string strName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; // "MW\\dalem" string domai
在
user.Save()中代码>行。我不明白为什么,因为我有完全的管理权。这是我尝试将用户添加到active directory的第三种或第五种方法 您可以通过保存数据库上下文来实现这一点:
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();
}
}
Visual studio是否处于管理员模式?不是,但现在我已在管理员模式下打开它,收到错误消息说“对象已存在”但是我在Active directory用户中看不到它。你不是只是使用NULL
作为域名来获取你当前连接的域吗?问题是visual studio没有像蜘蛛侠指出的那样处于管理员模式。它说“该对象已经存在”,但我无法在用户列表中看到该用户的原因是因为我忘记启用该帐户。它就在那里,只是没有被激活。主体上下文没有那种方法是类型-实体数据模型(edmx)的上下文吗?嗯,我不知道,因为我对这种东西不熟悉,但是pc.Savechanges();是带下划线的,当我将鼠标悬停在上面时,它会显示“System.DirectoryServices.AccountManagement.PrincipalContext不包含“SaveChanges”的定义,并且没有扩展方法“SaveChanges”的第一个字符类型..等等”
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();
}