c#与林外

时间:2018-03-12 19:22:36

标签: c# active-directory ldap directoryentry

我正在尝试编写一些代码,使用c#将对象写入Active Directory。我有一个测试域控制器,它不是我编写代码的笔记本电脑所属的域或林的成员。我已经在所有组合中尝试了以下用户名和服务器的替换,但是当我到达行

adobject = myLdapConnection.Children.Add(value, type);

我收回了错误

用户名或密码不正确。

如果用户名和密码正确,为什么会出现此错误?

testuser是域管理员。我可以通过像Softerra LDAP Browser这样的程序验证它是否正确,它可以很好地连接到服务器并让我创建对象。

//string username = "CN=testuser,CN=Users,DC=ad,DC=domain,DC=com";
//string username = "testuser";
//string username = "AD\\testuser";

//string server="LDAP://10.10.10.10:389";
//string server="LDAP://10.10.10.10";

string server = "LDAP://10.10.10.10:389";
string basedn = "ou=testou,DC=ad,DC=domain,DC=com";
string username = "CN=testuser,CN=Users,DC=ad,DC=domain,DC=com";
string password="plaintextpassword";
DirectoryEntry myLdapConnection = new DirectoryEntry(server+"/"+basedn,username,password,AuthenticationTypes.Secure);
string value="ou=testsubou,ou=testou,DC=ad,DC=domain,DC=com";
string type="organizationalUnit";
DirectoryEntry adobject = myLdapConnection.Children.Add(
                                   value, type);
adobject.CommitChanges();

1 个答案:

答案 0 :(得分:1)

用户名应该在"正常"格式而不是"CN=testuser,CN=Users,DC=ad,DC=domain,DC=com";。正常表示DOMAIN\USERuser@DOMAIN.XXX