У меня есть веб-API, который работает в пуле приложений IIS с учетной записью службы с повышенными правами. У этой учетной записи службы есть права на установку или изменение паролей пользователей в пределах указанных c подразделений в Active Directory.
Учетная запись службы API может устанавливать пароли пользователей в подразделении 1, но не может устанавливать пароли пользователей. в OU2 . Смена пароля работает нормально в обоих OU.
Снимок экрана с разрешениями сервисного аккаунта в OU2
разрешения учетной записи службы для OU в AD
Один и тот же фрагмент кода используется для установки пароля независимо от OU.
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(adContext, username);
userPrincipal.SetPassword("somepassword");
userPrincipal.Save();
Выдается исключение
System.UnauthorizedAccessException: Access отказано. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))