Параметры разрешений для конкретного приложения не дают разрешения Локальный Запуск для приложения COM-сервера с CLSID…

Оставляю тут небольшую заметку (в первую очередь для себя) по решению проблемы c ошибкой DCOM 10016. Эта проблема довольно часто встречается как в клиентских, так и в серверных версиях Windows, начиная еще со времен Windows XP.

Проблема проявляется следующим образом: в журнале событий системы при загрузке компьютера или попытке запуска/установки приложения появляется следующая ошибка:

Log Name: Система
Source: DistributedCOM
Event ID: 10016
Level: Ошибка
User: SYSTEM
Описание: Параметры разрешений для конкретного приложения не дают разрешения Локальный Запуск для приложения COM-сервера с CLSID {1CCB96F4-B8AD-4B43-9688-B273F58E0910} и APPID {AD65A69D-3831-40D7-9629-9B0B50A93843}пользователю NT AUTHORITY\система с SID (S-1-5-18) и адресом LocalHost (с использованием LRPC). Это разрешение безопасности можно изменить с помощью служебной программы управления службами компонентов.

На англоязычных версиях Windows описание ошибки такое:

The application-specific permission settings do not grant Local Launch permission for the COM Server application with CLSID {1CCB96F4-B8AD-4B43-9688-B273F58E0910} and APPID {AD65A69D-3831-40D7-9629-9B0B50A93843} to the user NT AUTHORITY\SYSTEM SID (S-1-5-18) from address LocalHost (Using LRPC). This security permission can be modified using the Component Services administrative tool.

DistributedCOM ошибка 10016Судя по описанию ошибки: система (NT AUTHORITY\система) пытается запустить некий компонент COM с помощью инфраструктуры DCOM и не может этого сделать из-за отсутствия права «Локальный Запуск». В коде ошибки содержатся только коды классов COM компонента и приложения. Попробуем определить, какому именно приложению принадлежит идентификатор и предоставить системе права, необходимые для его запуска.

Соответствие между именем компонента и его кодом можно установить через реестр. Эта информация хранится в ветке HKEY_CLASSES_ROOT\AppID\.

  1. Запускаем редактор реестра (локально или удаленно через Remote Registry) под администратором компьютера и выполняем поиск (CTRL-F) по идентификатору APPID из описания ошибки. В нашем случае это {AD65A69D-3831-40D7-9629-9B0B50A93843}.Поиск в реестре по ключу
  2. Искомый ключ должен быть найден в разделе HKEY_CLASSES_ROOT\AppID\ (при удаленном подключении к реестру он будет находиться в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID ).Ветка HKEY_CLASSES_ROOT\AppID
  3. В первую очередь нам понадобится изменить владельца этой ветки реестра. Щелкаем по найденной ветке ПКМ и отрываем окно разрешений (Permissions), а затем кнопку Advanced (Дополнительно) ->Owner (Владелец).
  4. В верхней части окна указан текущий владелец TrustedInstaller.Изменить владельца раздела реестра
  5. В списке возможных владельцев выбираем Администраторы и ставим галку Replace owner on subcontainers and objects (Заменить владельца подконтейнеров и объектов) и жмем “ОК” .
  6. Теперь, когда владельцем ключа стала группа локальных администраторов, еще раз открываем окно настроек безопасности и предоставляем группе Администраторы и System полный доступ (Full Control).Предоставляеи администарторам и системе полный доступ на раздел реестра
  7. Далее запоминаем значение параметра (Default) нашего ключа {AD65A69D-3831-40D7-9629-9B0B50A93843} . В нашем примере это SMS Agent Host (агент SCCM).SMS Agent Host
  8. Далее открываем консоль управления службами компонентов Start –> Administrative Tools –> Component Services (comexp.msc или dcomcnfg). Разворачиваем Computers –> My Computer–> DCOM Config (Настройка DCOM) и находим в списке SMS Agent Host.DCOM config
  9. В контекстном меню открываем свойства этого элемента. На вкладке Безопасность в разделе Разрешения на запуск и активацию нажимаем кнопку Изменить. Выбираем Система и разрешаем Локальный запуск (Local Launch) и Локальную активацию (Local Activation). Сохраняем изменения, нажав ОК. DCOM - права на Локальный запуск  и Локальную активацию
    Совет. Если в начальном логе ошибки вместо NT AUTHORITY\система была указана NT AUTHORITY\NETWORK SERVICE, необходимо дать права на локальный запуск и активацию для учетной записи NetworkService.
  10. Перезагружаем компьютер и проверяем логи.

 


Предыдущая статья Следующая статья


Комментариев: 8 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)