Я пытаюсь использовать библиотеку .NET System.DirectoryServices.AccountManagement
для получения UserPrincipal для определенного пользователя Active Directory.
У меня есть следующий код:
PrincipalContext context = new PrincipalContext(ContextType.Domain, "DomainName");
userPrincipal = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, username);
Этот код работает как допустимый пользователь домена, но при его выполнении я получаю следующее исключение:
System.DirectoryServices.DirectoryServicesCOMException(0x8007052E): Ошибка входа в систему: неизвестное имя пользователя или неверный пароль.
Интересно, что я могу сделать следующий вызов, используя тот же контекст, без проблем:
context.ValidateCredentials(username, password, ContextOptions.Negotiate)
Идеи?