我正在尝试编写一些代码,使用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();
答案 0 :(得分:1)
用户名应该在"正常"格式而不是"CN=testuser,CN=Users,DC=ad,DC=domain,DC=com";
。正常表示DOMAIN\USER
或user@DOMAIN.XXX