COM-исключение Active Directory - операционная ошибка произошла (0x80072020)

я получаю неустойчивое COM-исключение" , операционная ошибка произошла (0x80072020) " (показанный ниже), когда я пытаюсь запросить Active Directory с помощью метода GroupPrincipal. FindByIdentity

Здесь является моим кодом:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, Environment.UserDomainName);
GroupPrincipal groupPrincipal = GroupPrincipal.FindByIdentity(ctx, IdentityType.Name, "Group to find");

я получаю Исключение:

Inner Exception: System.Runtime.InteropServices.COMException (0x80072020): An operations error occurred.
  at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
  at System.DirectoryServices.DirectoryEntry.Bind()
  at System.DirectoryServices.DirectoryEntry.get_AdsObject()
  at System.DirectoryServices.PropertyValueCollection.PopulateList()
  at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
  at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
  at System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer()
  at System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit()
  at System.DirectoryServices.AccountManagement.PrincipalContext.Initialize()
  at System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx()
  at System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper(PrincipalContext context, Type principalType, Nullable`1 identityType, String identityValue, DateTime refDate)
  at System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithType(PrincipalContext context, Type principalType, IdentityType identityType, String identityValue)
  at System.DirectoryServices.AccountManagement.GroupPrincipal.FindByIdentity(PrincipalContext context, IdentityType identityType, String identityValue)

код работает от служба Windows на сервер Windows 2003 SP2 .

я нашел другой вопрос о Переполнении стека, Active Directory, перечислив группы пользователя, COM-исключение , предположив, что Kerberos включения как опция в конструкторе PrincipalContext решит эту проблему, но я получаю другой шестнадцатеричный код , чем в этом вопросе.

Мои вопросы :

  1. это конкретное COM-исключение определенно проблема аутентификации? Я должен быть уверен, что это будет 100% решать проблему прежде, чем выпустить программное обеспечение.
  2. там ресурс где-нибудь, который перечисляет все возможные шестнадцатеричные коды COM-исключения так, чтобы я мог помочь мне немного лучше в будущем?

27
задан Community 23 May 2017 в 12:02
поделиться

3 ответа

Это случилось со мной в ASP.NET (Windows 2008 R2 / IIS7), где я возился с Web.config, и эта ошибка начинала появляться при каждом вызове FindByIdentity. Основной причиной было то, что пул приложений работал как DefaultAppPool, и он снова начал работать после того, как я изменил его на запуск в качестве сетевой службы. Я не совсем понимаю, почему это изменилось, но это произошло.

4
ответ дан 28 November 2019 в 04:25
поделиться

В моем случае пул веб-приложений работал как «DefaultAppPool», у которого не было достаточного доступа для подключения к Active Directory компании. Итак, я выдал себя за учетную запись, которая имеет доступ к AD в моем коде, и все работало нормально.

0
ответ дан 28 November 2019 в 04:25
поделиться

Для меня я столкнулся с той же проблемой при попытке войти на один из контроллеров домена, у меня есть 2 контроллера домена, один из которых работает, а другой не работает, я полагаю, что это как-то связано с профиль пользователя, все еще расследующий ...

0
ответ дан 28 November 2019 в 04:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: