У меня работает сервер AD / LDAP, работающий нормально. Мне нужно что-то протестировать, поэтому я создал свой локально, используя phpldapadmin.
Когда я пытаюсь выполнить поиск по шаблону на objectClass
, мой код выбрасывается. Это происходит только на моем локальном сервере.
System.DirectoryServices.DirectoryServicesCOMException: 'Указан неверный синтаксис dn.
Я пробовал несколько синтаксисов имен пользователей, которые поддерживает DirectoryServices
: все они работают на рабочем сервере и не работают на моем локальном сервере. Я могу успешно войти внутрь и перемещаться по моему локальному серверу, используя JXplorer.
class Program
{
static void Run(string ip, string username, string password)
{
var authType = System.DirectoryServices.AuthenticationTypes.None;
var directoryEntry = new DirectoryEntry(ip, username, password, authType);
var directorySearcher = new DirectorySearcher(directoryEntry, "(objectClass=*)");
directorySearcher.SearchScope = SearchScope.OneLevel;
// throws here
var searchResult = directorySearcher.FindOne();
}
static void Main(string[] args)
{
Run("LDAP://validlocalip", "admin@test", "test");
Console.ReadKey();
}
}