Я пытаюсь привязаться к серверу Active Directory в C #, но на месте у меня, похоже, есть проблемы, которые невозможно воспроизвести в тестовой среде.
Я получаю исключение
System.Runtime.InteropServices.COMException (0x8007203A): The server is not operational.
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.RefreshCache()
at System.DirectoryServices.DirectoryEntry.FillCache(String propertyName)
at System.DirectoryServices.DirectoryEntry.get_NativeGuid()
код выглядит следующим образом
// domainStr = "LDAP://domainname/rootDSE
using (var de = new DirectoryEntry(domainStr, Username, Password))
{
var guid = de.NativeGuid;
}
, однако, если я вместо этого пытаюсь подключить контроллер домена (domainStr = "LDAP://domainController/rootDSE"
или полностью квалифицирован domainStr = "LDAP://domainController.DomainName"
), он работает просто отлично.
Я попытался
var d = Domain.GetDomain(new DirectoryContext(
DirectoryContextType.Domain,
domainStr,
Username,
Password));
, но при этом получаю точно такое же исключение.
Мне интересно, если я делаю что-то не так, возможно, другой URL-адрес LDAP будет работать лучше, или еслиэто общая проблема, с которой я сталкиваюсь (несмотря на то, что поиск в Google выявляет эту проблему, я не нашел решения, которое подходит мне)
Также, возможно, стоит указать, что сервер работает на программном обеспеченииотсутствует в Active Directory, и у меня есть список AD, к которым я подключаюсь (отсюда имя пользователя и пароль при попытке подключения)