Я пытаюсь создать нового пользователя в AD. Я использую следующий код:
using (var context = new PrincipalContext(ContextType.Domain, this.DomainName, userWithWMIAccessRights, userWithWMIAccessrightsPassword))
{
UserPrincipal user = new UserPrincipal(context);
user.DisplayName = Newusername;
user.Name = Newusername;
user.Enabled = true;
user.SetPassword(passwordOfThenewUser);
user.Save(); //<-- throws exception InnerException = {"Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))"}
return user;
}
Я установил userWithWMIAccessrightsPassword следующим образом:
- userWithWMIAccessrightsPassword является членом группы администраторов Enterpirse, администраторов домена и пользователей домена.
- Запустил dcomcnfg из командной строки.
- Выбранный инструментарий управления Windows из списка служб.
- Обновил пользовательские разрешения, добавив учетную запись userWithWMIAccessrightsPassword с вкладки «Безопасность» и предоставив ему полные права.
Веб-приложение размещается на том же компьютере, что и AD. Когда я отлаживаю веб-приложение с помощью Visual Studio, пользователь и пароль устанавливаются без проблем.
Когда веб-приложение развернуто на машине AD, функция, которая создает пользователя, выдает {"Доступ запрещен. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))"} в строке кода, которая устанавливает пароль. Пользователь создан и не включен и без пароля.
Почему мне отказывают в доступе, когда PrincipalContext использует пользователя AD с полными правами?