Ваш путь LDAP должен быть примерно таким:
LDAP://servername/ou=MyOU,dc=my,dc=domain
(вам нужно указать имя сервера , которое вы хотите использовать в качестве DC - в качестве контроллера домена)
или:
LDAP://ou=MyOU,dc=my,dc=domain (for server-less binding)
Вы не можете указать имя пользователя / пароль для использования прямо в строке LDAP.Если вам это нужно, вам нужно будет найти другой способ предоставить эти учетные данные (например, выбрать правильный перегруженный конструктор для DirectoryEntry
, который позволяет указать имя пользователя / пароль для подключения к AD).
Обновление:
Я думаю, вы должны изменить свой код, чтобы он работал следующим образом:
string adPath = "LDAP://ou=myou,dc=my,dc=domain";
string adUser = "myuser";
string adPass = "mypass";
// you might need to play around with the "AuthenticationTypes" to get it to work
DirectoryEntry entry = new DirectoryEntry(adPath, adUser, adPass, AuthenticationTypes.None);
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.Filter = @"(objectClass=Person)";
Я не уверен, будет ли работать такая строка LDAP:
string adPath = "LDAP://my.domain/ou=myou,dc=my,dc=domain";
Я смутно помню, что мне пришлось использовать имя сервера (не имя домена), чтобы заставить это работать - что-то вроде этого:
string adPath = "LDAP://dc01.my.domain/ou=myou,dc=my,dc=domain";