2016-06-28 3 views
1

Этот вопрос задан несколько раз, но до сих пор я не видел ответа, который выглядит как наша проблема.Доступ запрещен. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED)) Добавление учетной записи Active Directory

Во-первых, у нас есть две повторяющиеся среды. Оба сервера Windows 2012 R2 с Active Directory используются с нашей федеративной службой Active Directory.

Наша система состоит из веб-портала, который обменивается данными через службы WCF. Из этого мы имеем службу WCF безопасности, которая позволяет нам создавать новые учетные записи AD. Это в настоящее время работает отлично на наших Дев и испытательных машинах (Althought они используют один и тот же AD и ADFS машину), но в нашей производственной среде, когда мы называем ту же функцию, чтобы создать новый пользователь, мы получаем следующую ошибку:

02:07:24 [17] ERROR UserService !!! ERROR !!! System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) --- End of inner exception stack trace --- at System.DirectoryServices.DirectoryEntry.Invoke(String methodName, Object[] args) at System.DirectoryServices.AccountManagement.SDSUtils.SetPassword(DirectoryEntry de, String newPassword) at System.DirectoryServices.AccountManagement.ADStoreCtx.SetPassword(AuthenticablePrincipal p, String newPassword) at System.DirectoryServices.AccountManagement.SDSUtils.InsertPrincipal(Principal p, StoreCtx storeCtx, GroupMembershipUpdater updateGroupMembership, NetCred credentials, AuthenticationTypes authTypes, Boolean needToSetPassword) at System.DirectoryServices.AccountManagement.ADStoreCtx.Insert(Principal p) at System.DirectoryServices.AccountManagement.Principal.Save() at UserService.Implementation.LDAPManager.CreateUser(String logon, String firstName, String lastName, String userPassword, String EmailAddress) in e:\Bld\1\User Service\UserService\Implementation\LDAPManager.cs:line 60 at UserService.createNewUser(NewUserValueObject newUser) in e:\Bld\1\User Service\UserService\UserService.cs:line 127

Как я уже говорил, мы рассмотрели сторону AD и не можем найти ничего очевидного, но я уверен, что вы, великие операторы и разработчики, скоро скажете мне об этом иначе.

ответ

0

Вам необходимо проверить, какая учетная запись службы работает как и ее разрешения. Недавно у меня была аналогичная проблема, пытающаяся запустить службу в качестве учетной записи управляемой группы, а у учетной записи службы не было доступа к добавлению/удалению компьютеров из домена. Необходимо делегировать доступ к группе контроля контролируемой учетной записи управляемой группы.

Следующая статья очень хорошая ссылка:

https://richardstk.com/2013/11/29/create-a-dedicated-account-to-join-computers-to-a-domain/

Чтобы избежать создания SPN для учетной записи службы-х мне нужно управлять различными OU-х, я просто бросил их в группу безопасности своих и делегированный доступ на основе группы безопасности. Пробег может варьироваться здесь, в зависимости от вашей ситуации, и независимо от того, используете ли вы учетную запись службы для запуска своего сервиса.

Смежные вопросы