2015-02-05 62 views
1

我试图以编程方式将用户添加到AD lDS实例。下面是如何增加一个用户:轻量级目录服务实例中缺少sAMAccountName

string ldap = "LDAP://xxxx"; 

var root = new DirectoryEntry(ldap); 
var cn = "CN=" + "Joe" + "Blow"; 
var u = root.Children.Add(cn, "user"); 
//u.Properties["sAMAccountName"].Value = "jblow"; 
u.Properties["employeeID"].Value = "654321"; 
u.Properties["sn"].Value = "Blow"; 
u.Properties["givenName"].Value = "Joe"; 
u.Properties["comment"].Value = "a note for you"; 
u.Properties["homePhone"].Value = "55555555"; 
u.CommitChanges(); 

如果我执行这个代码,它将成功添加用户Joe Blow。但是,如果我尝试添加用户名sAMAccountName我得到一个错误:

The specified directory service attribute or value does not exist.System.Exception {System.DirectoryServices.DirectoryServicesCOMException}

使用ADSI Edit我看着对象的属性和我没有看到sAMAccountName上市那里!

enter image description here

我如何添加用户名AD LDS实例?

回答

0

这应该提供额外的信息:INFO

我们通常保持sAMAccountName赋与的UserPrincipalName UPN同步,但可以根据自己的情况/企业而异。这里

u.Properties["sAMAccountName"].Add("jblow"); u.Properties["userPrincipalName"].Add("jblow"+ "@" + yourDomain);

+0

感谢您的答复。我犯了同样的错误。 – smr5 2015-02-05 17:27:48

+0

您是否尝试过设置userPrincipalName? – Blake 2015-02-05 17:55:23

+0

我有,它的工作原理。从我的阅读'userPrincipalName'格式为'username @ domain.com'。这可以用作用户名吗? – smr5 2015-02-05 18:12:04