Я пытаюсь написать код для записи объектов в Active Directory с помощью C#. У меня есть тестовый контроллер домена, который не является членом домена или леса, членом которого является мой ноутбук, пишущий код. Я пробовал следующие замены для имени пользователя и сервера во всех комбинациях, но когда я добрался до строки
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();
Изменил код, чтобы отразить. Опечатка с моей стороны при наборе текста в примере.





Имя пользователя должно быть в "обычном" формате вместо "CN=testuser,CN=Users,DC=ad,DC=domain,DC=com";. Нормальный означает DOMAIN\USER или [email protected]
Я тоже так думал, но кто-то из Microsoft сказал иначе: social.technet.microsoft.com/Forums/windows/en-US/…
Хотя, вероятно, стоит попробовать.
@GabrielLuci Я никогда не использовал DN в качестве логина. Если заработает, узнаю что-то новое: D
И DN, и обычный DOMAIN \ USER не работают, но [email protected] работает.
В качестве примечания, мне также пришлось отказаться от basedn, если я хотел использовать полный dn при создании OU.
Должен ли
myLdapConnectionбытьldapConnectionв вашем коде?