Localhost с использованием lrpc что это
Перейти к содержимому

Localhost с использованием lrpc что это

  • автор:

Ошибка DistributedCOM 10016 в Windows: Параметры разрешений для приложения не дают разрешения локальной активации

date

11.02.2019

user

itpro

directory

Windows 10, Windows 7, Windows Server 2012 R2

comments

комментариев 19

В этой заметке я покажу, как исправить ошибку c Event ID 10016 от источника DistributedCOM на компьютере с Windows 10 / Windows Server 2012 R2. Ошибка DCOM 10016 довольно часто встречается как в клиентских, так и в серверных версиях Windows, начиная еще со времен Windows XP и исправляется она одинаково, независимо от редакции Windows.

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

Log Name: Система

Source: DistributedCOM
Event ID: 10016
Level: Ошибка
User: SYSTEM
Описание: Параметры разрешений для конкретного приложения не дают разрешения Локальный Запуск для приложения COM-сервера с CLSID и APPID пользователю NT AUTHORITY\система с SID (S-1-5-18) и адресом LocalHost (с использованием LRPC). Это разрешение безопасности можно изменить с помощью служебной программы управления службами компонентов.

DistributedCOM ошибка 10016

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

The machine-default permission settings do not grant Local Activation permission for the COM Server application with CLSID

and APPID Unavailable to the user IIS APPPOOL\appIISPool SID (S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.

dcom 10016: not grant Local Activation permission for the COM Server application with CLSID and APPID

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

Из описания события необходимо скопировать идентификаторы CLSID и APPID. В моем случае это

(в некоторых случаях идентификатор приложения может быть не указан — APPID Unavailable).

Также обратите внимание каких разрешений не хватает (Local Activation permission) и для какой учетной записи (NT AUTHORITY\SYSTEM или IIS APPPOOL\appIISPool SID — S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824).

В каждом конкретном случае идентификаторы класса, приложения, учетной записи и типа доступа может отличаться.

  1. Запустите редактор реестра (regedit.exe);
  2. Перейдите в ветку реестра, соответствующую вашему CLSID. У меня это HKEY_CLASSES_ROOT\CLSID\;

В некоторых случаях нужно смотреть также в разделе реестра [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\. При удаленном подключении к реестру он будет находиться в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID.

HKEY_CLASSES_ROOT\CLSID

  • Щелкните правой кнопкой мыши по разделу реестра и выберите пункт Permissions (Разрешения);
  • Нажмите на кнопку Advanced;права доступа к ветке реестра
  • В разделе Owner (Владелец) будет указано NT Service\TrustedInstaller или System; владелец ветки реестра
  • Нажмите кнопку Change и укажите имя своей учетной записи администратора. Сохраните изменения; изменить владельца ветки реестра на администартора
  • Обратите внимание, что имя владельца ветки сменилось на вашу учетную запись. Поставьте галку Replace owner on subcontainers and objects (Заменить владельца подконтейнеров и объектов) и нажмите “ОК”; заменить владельца ветки реестра и вложенных
  • В списке разрешений добавьте вашу учетную запись администратора и предоставьте ей полный доступ (Full Permissions); полный доступ на ветку реестра для администратора
  • Вы предоставили права на ветку с CLSID. Теперь нужно повторить предыдущие шаги, предоставив учетной записи администратора права на ветку с вашим идентификатором APPID из текста ошибки (например, HKEY_CLASSES_ROOT\AppID\;
  • Теперь запустите консоль управления компонентами dcomcnfg с правами администратора (Control Panel\All Control Panel Items\Administrative Tools\Component Services); dcomcnfg
  • В консоли компонентов перейдите в ветку Component Services ->Computers ->My computer ->DCOM Config. В списке компонентов найдите имя компонента, которое вы определили на втором шаге (значение в столбце Application ID должно соответствовать вашему CLSID из ошибки). Откройте свойства компонента; свойства dcom компонента

    Если вы не можете найти свой компонент в списке, вероятно у вас 64 битная версия Windows, а запускаемый компонент является 32 битным. В этом случае нужно запустить консоль DCOM командой: mmc comexp.msc /32

    разрешения еа компоненте dcom

    Перейдите на вкладку Security. Все элементы управления должны быть доступными для изменения;

    security вкладка dcom не доступна

    Если открыть консоль dcomcnfg до изменения разрешений на ветку реестра, все настройки на вкладке Security окажутся заблокированы (недоступны для изменения), несмотря на то, что вы запустили консоль от имени администратора.

    Совет. Если в начальном логе ошибки вместо NT AUTHORITY\система была указана NT AUTHORITY\NETWORK SERVICE, необходимо дать права на локальный запуск и активацию для учетной записи NetworkService.

    права Local Activation для system в dcom

  • Предоставьте нужные разрешения для учетной записи. Например, Local Activation -> Allow и Local Launch (Локальная активация) -> Allow;
  • Перезагрузите компьютер и проверьте журналы событий. Ошибка DCOM 10016 должна исчезнуть.
  • Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

    Проблема вылетают игры

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

    и APPID

    пользователю DESKTOP-PKAUNGA\kondr с ИД безопасности (S-1-5-21-1894243081-4134892019-621943842-1001) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов.

    Голосование за лучший ответ

    1. Открываем реестр Win+R.
    2. Находим HKEY_Local_Machine\Software\Classes\AppID\.
    3. Добавляем этой ветки реестра полный доступ.
    4. Открываем Службу компонентов (можно через поиск или Win+R, вводим там dcomcnfg и жмем ОК)
    5. Затем с лева открываем «Службы компонентов => Компьютеры => Мой компьютер => Настройка DCOM», находим там RuntimeBroker и жмем по нему правой кнопкой мыши «Свойства». Если у вас RuntimeBroker несколько, то выбирайте тот у которого Код приложения . В версии 1903 сборки Windows, за место RuntimeBroker теперь название PerAppRuntimeBroker.
    6. Открываем вкладку «Безопасность», «Разрешения на запуск и активацию», жмем кнопку «Изменить».
    7. В открывшемся окне смотрим есть ли там пользователь который указан в ошибке, например у меня «PC\Name», если есть, выбираем его и ставим галочку на против «Локальная активация». Если пользователя нету, добавляем его.
    8. Перезагружаем компьютер.

    spintelligenceМастер (1333) 2 года назад

    Важно: Если ошибка все равно осталась, то можно добавить разрешение «Локальная активация» для всех пользователей, после этого ошибка должна пропасть.

    Ошибка Distributed COM 10016, что делать, и в чём заключается ошибка?

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

    и APPID

    пользователю DESKTOP-UC7HHFD\mrxx1 с ИД безопасности (S-1-5-21-3195764186-213208991-1231130310-1001) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов

    Голосование за лучший ответ

    Что делать если вылазеет эта ошибка в системе компьютер сам перезагружаеться, помогите мне решить эту ошибку

    Имя журнала: System
    Источник: Microsoft-Windows-DistributedCOM
    Дата: 14.08.2017 1:59:00
    Код события: 10016
    Категория задачи: Отсутствует
    Уровень: Ошибка
    Ключевые слова: Классический
    Пользователь: СИСТЕМА
    Компьютер: DESKTOP-SLQP2P4
    Описание:
    Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID

    и APPID

    пользователю NT AUTHORITY\СИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов.
    Xml события:

    10016
    0
    2
    0
    0
    0x8080000000000000

    для конкретного приложения
    Локально
    Активация

    NT AUTHORITY
    СИСТЕМА
    S-1-5-18
    LocalHost (с использованием LRPC)
    Недоступно
    Недоступно

    Голосование за лучший ответ
    Может проще и быстрее систему переустановить.

    Заходишь в меню пуск, в поиске пишешь regedit.Жми правую кнопку мыши и делай запуск от имени администратора. Ctrl+f, вводишь <9CA88EE3-ACB7-47C8-AFC4-AB702511C276>.Делаешь find next, жми Правой кнопкой мыши по найденному коду (папка) и открываем permissions->advanced->owner. В списке возможных владельцев выбирай Администраторы и ставь галочку Replace owner on subcontainers and objects.Жми Ок. Теперь вернись в Permissions Security и для группы Администраторы и System ставь full control.Ок. Теперь на наш код один раз жми ЛКМ. Запомни столбец Data для (Default).Далее открываем консоль управления службами компонентов Start –> Administrative Tools –> Component Services (comexp.msc или dcomcnfg). Разворачиваем Computers –> My Computer–> DCOM Config (Настройка DCOM) и находим в списке SMS Agent Host.В контекстном меню открываем свойства этого элемента. На вкладке Безопасность в разделе Разрешения на запуск и активацию нажимаем кнопку Изменить. Выбираем Система и разрешаем Локальный запуск (Local Launch) и Локальную активацию (Local Activation). Сохраняем изменения, нажав ОК. Перезагружаем систему.

    Добавить комментарий

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