Ошибка 10016 windows server 2012

Обновлено 19.08.2021

Ошибка 10016

Доброго времени суток, уважаемые читатели, сегодня решаем ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} в Windows server 2012 R2.

Ошибка 10016 в windows 10 и Windows Server

На сервере Windows Server 2012 R2 постоянно возникает ошибка 10016.

Имя журнала: Система
Источник: DistributedCOM
Код: 10016

{D63B10C5-BB46-4990-A94F-E40B9D520160}

{D63B10C5-BB46-4990-A94F-E40B9D520160}

Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID
{D63B10C5-BB46-4990-A94F-E40B9D520160}
и APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} или {316CDED5-E4AE-4B15-9113-7055D84DCC97} или {4839DDB7-58C2-48F5-8283-E1D1807D0D7D}
пользователю NT AUTHORITY\СИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов.

Событие 10016

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}
and APPID
{4839DDB7-58C2-48F5-8283-E1D1807D0D7D}
to the user NT AUTHORITY\LOCAL SERVICE SID (S-1-5-19) 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.

{316CDED5-E4AE-4B15-9113-7055D84DCC97}

Данная ошибка выскакивает, когда какая-то из утилит не может обратиться к DCOM объекту, чаще всего, это связано с недостаточностью разрешений. Был реализован шаблон кодирования, где код сначала пытается получить доступ к компонентам DCOM с одним набором параметров. Если первая попытка не удалась, она пытается снова с другим набором параметров. Причина, по которой он не пропускает первую попытку, заключается в том, что существуют сценарии, в которых он может быть успешным. В этих сценариях это предпочтительнее. Если вы не в курсе, что такое COM объекты и DCOM, то если по простому, это концепция для создания программного обеспечения на основе взаимодействующих компонентов объекта, каждый из которых может использоваться во многих программах одновременно. На основе COM были созданы ActiveX, DCOM, COM+, DirectX, .Net.

  • {316CDED5-E4AE-4B15-9113-7055D84DCC97} — Кнопка пуск (Immersive Shell) — интерфейс метро
  • {4839DDB7-58C2-48F5-8283-E1D1807D0D7D} — ShellServiceHost
  • {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} — RuntimeBroker

Подробнее вы можете почитать в вики https://ru.wikipedia.org/wiki/Component_Object_Model

Сначала нужно обновить Windows через центр обновления, и если не поможет, то делаем по очереди предложенные решения:

  • Назначаем недостающие права на ветку с GUID номером {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} или другим, зависит от вашей ситуации с кодом ошибки 10016
  • Удаление некоторых ключей реестра
  • Использование скрипта PowerShell

Как исправить ошибку 10016 через назначение прав в реестре

  1. Сразу логинимся на проблемный сервер под администратором, чтобы не вводить всякий раз имя и пароль. Запускаем Regedit.
  2. Запускаем поиск (CTRL+F) и ищем второй из GUIDов в описании ошибки, т.е. APPID. В данном случае это «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}».Ошибка 10016
  3. Первый результат поиска должен быть в ключе HKEY_CLASSES_ROOT\AppID\. Наступаем на найденный GUID в левой панели и щелкаем правой кнопкой, выбираем Разрешения, а затем кнопку Дополнительно.Меняем права для устранения ошибки 10016
  4. В верхней части дополнительных параметров указан текущий владелец TrustedInstaller. Нажимаем рядом с ним ссылку Изменить.Изменение владельца
  5. Нам нужно сделать владельцем локальную группу Администраторы. Затем кнопки Дополнительно, Поиск и выбираем в результатах поиска Администраторы. код ошибки 10016
  6. Ставим флажок «Заменить владельца подконтейнеров и объектов», кнопка ОК.Заменить владельца подконтейнеров
  7. После смены владельца мы можем изменять разрешения. В окне Разрешения на вкладке Безопасность даем для СИСТЕМА и Администраторы разрешение на полный доступ. ОК.
  8. Далее смотрим для нашего ключа HKEY_CLASSES_ROOT\AppID\{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} значение параметра «(По умолчанию)» = «RuntimeBroker«.

Ошибка 10016 в windows-1
8. В диспетчере серверов в правом верхнем углу меню Средства -> Службы компонентов. Открываем Компьютеры –> Мой компьютер –> Настройка DCOM. Правый клик по строке из п.7 RuntimeBroker, Свойства.

Ошибка 10016 в windows-2
9. На вкладке Безопасность. В разделе Разрешения на запуск и активацию кнопка Изменить. Для группы СИСТЕМА разрешаем Локальный запуск и Локальная активация. ОК. Если вам runtimebroker не дает отредактировать настройки, то вам нужно дать права на него в реестре Windows

Не дает отредактировать службу dcom при ошибке 10016

Открываем редактор реестра Windows. Переходим в ветку

HKEY_CLASSES_ROOT\AppID\RuntimeBroker.exe

щелкаем по нему правым кликом и выбираем свойства.

runtimebroker exe windows 10-2

Даем права для группы администраторы (Полный доступ)

runtimebroker exe windows 10-3

Если не даст вам поставить, то вам нужно заменить владельца Trustinstaller на себя или группу администраторы. Как только дали права, идем опять в компоненты DCOM и выставляем права, как описывал выше.

runtimebroker exe windows 10-4

10. Перезагружаем сервер, проверяем логи, по сути ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} вы не должны больше увидеть.

Как исправить ошибку 10016 через удаление ключей из ветки OLe

Данный метод подразумевает удаление нескольких ключей реестра, которые отвечают за проверку прав на COM объекты. Нас будет интересовать ветка реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole

Ole — эта ветка управляют параметрами запуска по умолчанию и разрешениями доступа, а также возможностями безопасности на уровне вызовов для приложений на основе COM, которые не вызывают CoInitializeSecurity. Только администраторы, создатель объекта и система имеют полный доступ к этой части реестра. Все остальные пользователи имеют доступ только для чтения.

Перед тем, как вы будите вносить изменения я вам советую на всякий случай сделать резервную копию реестра или ветки.

Щелкаем по контейнеру Ole правым кликом и из контекстного меню выберите пункт Экспорт.

Экспорт ветки реестра Ole

Задаем имя экспортируемого ключа. В случае проблем вы всегда сможете его импортировать и вернуть все к исходному состоянию.

Выгрузка ветки реестра при ошибке 10016

Теперь, чтобы исправить ошибку 10016 в Windows 10 или как у меня в Windows Server 2012 R2 или выше, вам необходимо удалить четыре ключа:

  • DefaultAccessPermission — Определяет список разрешений доступа по умолчанию для компьютера. Устанавливает список контроля доступа (ACL) участников, которые могут получить доступ к классам, для которых нет настройки AccessPermission . Этот ACL используется только приложениями, которые не вызывают CoInitializeSecurity и не имеют значения AccessPermission под своим ключом AppID. Среда выполнения COM на сервере проверяет ACL, описываемый этим значением, при олицетворении вызывающей стороны, которая пытается подключиться к объекту, и ее успех определяет, разрешен или запрещен доступ. Если проверка доступа не пройдена, соединение с объектом будет запрещено. Если это именованное значение не существует, только серверу участника и локальной системе разрешается вызывать сервер. По умолчанию это значение не содержит записей. Только принципал сервера и система могут вызывать сервер. Это значение обеспечивает простой уровень централизованного администрирования доступа по умолчанию к подключенным объектам на компьютере.
  • DefaultLaunchPermission — Определяет список запуска по умолчанию для компьютера. Определяет список контроля доступа (ACL) участников, которые могут запускать классы, которые не указывают свой собственный ACL через значение реестра LaunchPermission. Права доступа по умолчанию следующие: Администраторы: разрешить запуск, СИСТЕМА: разрешить запуск, ИНТЕРАКТИВНО: разрешить запуск. Если значение LaunchPermission установлено для сервера, оно имеет приоритет над значением DefaultLaunchPermission . После получения локального или удаленного запроса на запуск сервера, у которого ключ AppID не имеет собственного значения LaunchPermission, проверяется ACL, описанный этим значением, при олицетворении клиента, и его успех разрешает или запрещает запуск кода класса.Это значение обеспечивает простой уровень централизованного администрирования запуска по умолчанию для доступа к другим незарегистрированным классам на компьютере. Например, администратор может использовать инструмент DCOMCNFG для настройки системы, чтобы разрешить доступ только для чтения для опытных пользователей. Поэтому OLE будет ограничивать запросы на запуск кода класса членами группы «Опытные пользователи». Впоследствии администратор может настроить разрешения на запуск для отдельных классов, чтобы предоставить возможность запуска кода класса другим группам или отдельным пользователям по мере необходимости.
  • MachineAccessRestriction — Устанавливает политику ограничения на уровне компьютера для доступа к компоненту. Принципалы, которым здесь не предоставлены разрешения, не могут получить их, даже если разрешения предоставляются значением реестра DefaultAccessPermission или функцией CoInitializeSecurity. По умолчанию члены группы «Все» могут получать разрешения на локальный и удаленный доступ, а анонимные пользователи могут получать разрешения на локальный доступ.
  • MachineLaunchRestriction — Устанавливает политику ограничения на уровне компьютера для запуска и активации компонента. Принципалы, которым здесь не предоставлены разрешения, не могут получить их, даже если разрешения предоставляются значением реестра DefaultAccessPermission или функцией CoInitializeSecurity. По умолчанию администраторы могут получать разрешения на локальный и удаленный запуск и активацию, а члены группы «Все» могут получать разрешения на локальную активацию и запуск.

Подробнее о данной ветке можно почитать по адресу https://docs.microsoft.com/en-us/windows/win32/com/hkey-local-machine-software-microsoft-ole

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

Устранение ошибки 10016

Исправление ошибки 10016 через PowerShell

Если вам не удалось изменить запуск службы для системы, то можно все поправить и избавиться от сообщений «APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
пользователю NT AUTHORITY\СИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно)» с помощью скрипта PowerShell. Открываем ссылку с Microsoft

https://gallery.technet.microsoft.com/Grant-Revoke-Get-DCOM-22da5b96

Или во тут

Скачиваем тут сценарий DCOMPermissions.psm1

Исправление 10016 через powershell

Кладем данный модуль в нужную вам папку. Далее вы открываете консоль PowerShell и переходите в месторасположение данного модуля, после чего его нужно импортировать:

Import-Module .\DCOMPermissions.psm1

Grant-DCOMPermission -ApplicationID «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}» -Account «SYSTEM» -Type Launch -Permissions LocalLaunch,LocalActivation -OverrideConfigurationPermissions

Если ошибок не вышло, то значит все успешно применено, перезагрузка не потребуется.

Исправление ошибки dcom в powershell

Далее вы можете посмотреть примененные разрешения:

GetDCOMPermission ApplicationID «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}» Type Launch

Вы увидите права у системы, у нее будет SID S-1-5-10.

ошибка 10016

На этом у меня все, мы успешно устранили ошибку DCOM 10016.  Я должен подчеркнуть, что ошибка DCOM 10016 вряд ли повлияет на производительность вашей системы. В очень старые времена, когда Microsoft впервые представила «Distributed» в компонентной объектной модели, были уязвимости. Однако эти уязвимости были исправлены, и DCOM теперь безопасен. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

В этой заметке я покажу, как исправить ошибку 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 {1CCB96F4-B8AD-4B43-9688-B273F58E0910} и APPID {AD65A69D-3831-40D7-9629-9B0B50A93843}пользователю 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

{000209FF-0000-0000-C000-000000000046} 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. В моем случае это

CLSID : {000209FF-0000-0000-C000-000000000046}
APPID: {AD65A69D-3831-40D7-9629-9B0B50A93843}

(в некоторых случаях идентификатор приложения может быть не указан — 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\{000209FF-0000-0000-C000-000000000046};

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

  3. В параметре класса должно быть указано имя. У меня это Microsoft Word Application;

    Чаще всего эта проблема возникает с компонентами:
    Immersive Shell
    CLSID: {C2F03A33-21F5-47FA-B4BB-156362A2F239}
    APPID: {316CDED5-E4AE-4B15-9113-7055D84DCC97}
    RuntimeBroker
    CLSID: {D63B10C5-BB46-4990-A94F-E40B9D520160}
    APPID : {9CA88EE3-ACB7-47C8-AFC4-AB702511C276}

    HKEY_CLASSES_ROOT\CLSID

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

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

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

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

  14. В моем случае приложению не хватало прав на «Локальный Запуск» (Local Activation Permission). В секции Launch and Activation Permissions выберите Customize и нажмите кнопку Edit;
  15. В список доступа нужно добавить учетную запись, которой не хватало разрешений на запуск. Имя учетной записи было указано в тексте ошибки: в зависимости от текста в ошибке DCOM 10016 это может быть System, конкретный пользователь или учетка под которой запускается пул IIS (в этом случае нужно добавить доступ для локальной группы IIS_IUSR).

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

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

Обновлено 19.08.2021

Ошибка 10016

Доброго времени суток, уважаемые читатели, сегодня решаем ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} в Windows server 2012 R2.

Ошибка 10016 в windows 10 и Windows Server

На сервере Windows Server 2012 R2 постоянно возникает ошибка 10016.

Имя журнала: Система
Источник: DistributedCOM
Код: 10016

{D63B10C5-BB46-4990-A94F-E40B9D520160}

{D63B10C5-BB46-4990-A94F-E40B9D520160}

Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID
{D63B10C5-BB46-4990-A94F-E40B9D520160}
и APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} или {316CDED5-E4AE-4B15-9113-7055D84DCC97} или {4839DDB7-58C2-48F5-8283-E1D1807D0D7D}
пользователю NT AUTHORITYСИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов.

Событие 10016

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}
and APPID
{4839DDB7-58C2-48F5-8283-E1D1807D0D7D}
to the user NT AUTHORITYLOCAL SERVICE SID (S-1-5-19) 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.

{316CDED5-E4AE-4B15-9113-7055D84DCC97}

Данная ошибка выскакивает, когда какая-то из утилит не может обратиться к DCOM объекту, чаще всего, это связано с недостаточностью разрешений. Был реализован шаблон кодирования, где код сначала пытается получить доступ к компонентам DCOM с одним набором параметров. Если первая попытка не удалась, она пытается снова с другим набором параметров. Причина, по которой он не пропускает первую попытку, заключается в том, что существуют сценарии, в которых он может быть успешным. В этих сценариях это предпочтительнее. Если вы не в курсе, что такое COM объекты и DCOM, то если по простому, это концепция для создания программного обеспечения на основе взаимодействующих компонентов объекта, каждый из которых может использоваться во многих программах одновременно. На основе COM были созданы ActiveX, DCOM, COM+, DirectX, .Net.

  • {316CDED5-E4AE-4B15-9113-7055D84DCC97} — Кнопка пуск (Immersive Shell) — интерфейс метро
  • {4839DDB7-58C2-48F5-8283-E1D1807D0D7D} — ShellServiceHost
  • {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} — RuntimeBroker

Подробнее вы можете почитать в вики https://ru.wikipedia.org/wiki/Component_Object_Model

Сначала нужно обновить Windows через центр обновления, и если не поможет, то делаем по очереди предложенные решения:

  • Назначаем недостающие права на ветку с GUID номером {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} или другим, зависит от вашей ситуации с кодом ошибки 10016
  • Удаление некоторых ключей реестра
  • Использование скрипта PowerShell
  1. Сразу логинимся на проблемный сервер под администратором, чтобы не вводить всякий раз имя и пароль. Запускаем Regedit.
  2. Запускаем поиск (CTRL+F) и ищем второй из GUIDов в описании ошибки, т.е. APPID. В данном случае это «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}».Ошибка 10016
  3. Первый результат поиска должен быть в ключе HKEY_CLASSES_ROOTAppID. Наступаем на найденный GUID в левой панели и щелкаем правой кнопкой, выбираем Разрешения, а затем кнопку Дополнительно.Меняем права для устранения ошибки 10016
  4. В верхней части дополнительных параметров указан текущий владелец TrustedInstaller. Нажимаем рядом с ним ссылку Изменить.Изменение владельца
  5. Нам нужно сделать владельцем локальную группу Администраторы. Затем кнопки Дополнительно, Поиск и выбираем в результатах поиска Администраторы. код ошибки 10016
  6. Ставим флажок «Заменить владельца подконтейнеров и объектов», кнопка ОК.Заменить владельца подконтейнеров
  7. После смены владельца мы можем изменять разрешения. В окне Разрешения на вкладке Безопасность даем для СИСТЕМА и Администраторы разрешение на полный доступ. ОК.
  8. Далее смотрим для нашего ключа HKEY_CLASSES_ROOTAppID{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} значение параметра «(По умолчанию)» = «RuntimeBroker«.

Ошибка 10016 в windows-1
8. В диспетчере серверов в правом верхнем углу меню Средства -> Службы компонентов. Открываем Компьютеры –> Мой компьютер –> Настройка DCOM. Правый клик по строке из п.7 RuntimeBroker, Свойства.

Ошибка 10016 в windows-2
9. На вкладке Безопасность. В разделе Разрешения на запуск и активацию кнопка Изменить. Для группы СИСТЕМА разрешаем Локальный запуск и Локальная активация. ОК. Если вам runtimebroker не дает отредактировать настройки, то вам нужно дать права на него в реестре Windows

Не дает отредактировать службу dcom при ошибке 10016

Открываем редактор реестра Windows. Переходим в ветку

HKEY_CLASSES_ROOTAppIDRuntimeBroker.exe

щелкаем по нему правым кликом и выбираем свойства.

runtimebroker exe windows 10-2

Даем права для группы администраторы (Полный доступ)

runtimebroker exe windows 10-3

Если не даст вам поставить, то вам нужно заменить владельца Trustinstaller на себя или группу администраторы. Как только дали права, идем опять в компоненты DCOM и выставляем права, как описывал выше.

runtimebroker exe windows 10-4

10. Перезагружаем сервер, проверяем логи, по сути ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} вы не должны больше увидеть.

Как исправить ошибку 10016 через удаление ключей из ветки OLe

Данный метод подразумевает удаление нескольких ключей реестра, которые отвечают за проверку прав на COM объекты. Нас будет интересовать ветка реестра:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftOle

Ole — эта ветка управляют параметрами запуска по умолчанию и разрешениями доступа, а также возможностями безопасности на уровне вызовов для приложений на основе COM, которые не вызывают CoInitializeSecurity. Только администраторы, создатель объекта и система имеют полный доступ к этой части реестра. Все остальные пользователи имеют доступ только для чтения.

Перед тем, как вы будите вносить изменения я вам советую на всякий случай сделать резервную копию реестра или ветки.

Щелкаем по контейнеру Ole правым кликом и из контекстного меню выберите пункт Экспорт.

Экспорт ветки реестра Ole

Задаем имя экспортируемого ключа. В случае проблем вы всегда сможете его импортировать и вернуть все к исходному состоянию.

Выгрузка ветки реестра при ошибке 10016

Теперь, чтобы исправить ошибку 10016 в Windows 10 или как у меня в Windows Server 2012 R2 или выше, вам необходимо удалить четыре ключа:

  • DefaultAccessPermission — Определяет список разрешений доступа по умолчанию для компьютера. Устанавливает список контроля доступа (ACL) участников, которые могут получить доступ к классам, для которых нет настройки AccessPermission . Этот ACL используется только приложениями, которые не вызывают CoInitializeSecurity и не имеют значения AccessPermission под своим ключом AppID. Среда выполнения COM на сервере проверяет ACL, описываемый этим значением, при олицетворении вызывающей стороны, которая пытается подключиться к объекту, и ее успех определяет, разрешен или запрещен доступ. Если проверка доступа не пройдена, соединение с объектом будет запрещено. Если это именованное значение не существует, только серверу участника и локальной системе разрешается вызывать сервер. По умолчанию это значение не содержит записей. Только принципал сервера и система могут вызывать сервер. Это значение обеспечивает простой уровень централизованного администрирования доступа по умолчанию к подключенным объектам на компьютере.
  • DefaultLaunchPermission — Определяет список запуска по умолчанию для компьютера. Определяет список контроля доступа (ACL) участников, которые могут запускать классы, которые не указывают свой собственный ACL через значение реестра LaunchPermission. Права доступа по умолчанию следующие: Администраторы: разрешить запуск, СИСТЕМА: разрешить запуск, ИНТЕРАКТИВНО: разрешить запуск. Если значение LaunchPermission установлено для сервера, оно имеет приоритет над значением DefaultLaunchPermission . После получения локального или удаленного запроса на запуск сервера, у которого ключ AppID не имеет собственного значения LaunchPermission, проверяется ACL, описанный этим значением, при олицетворении клиента, и его успех разрешает или запрещает запуск кода класса.Это значение обеспечивает простой уровень централизованного администрирования запуска по умолчанию для доступа к другим незарегистрированным классам на компьютере. Например, администратор может использовать инструмент DCOMCNFG для настройки системы, чтобы разрешить доступ только для чтения для опытных пользователей. Поэтому OLE будет ограничивать запросы на запуск кода класса членами группы «Опытные пользователи». Впоследствии администратор может настроить разрешения на запуск для отдельных классов, чтобы предоставить возможность запуска кода класса другим группам или отдельным пользователям по мере необходимости.
  • MachineAccessRestriction — Устанавливает политику ограничения на уровне компьютера для доступа к компоненту. Принципалы, которым здесь не предоставлены разрешения, не могут получить их, даже если разрешения предоставляются значением реестра DefaultAccessPermission или функцией CoInitializeSecurity. По умолчанию члены группы «Все» могут получать разрешения на локальный и удаленный доступ, а анонимные пользователи могут получать разрешения на локальный доступ.
  • MachineLaunchRestriction — Устанавливает политику ограничения на уровне компьютера для запуска и активации компонента. Принципалы, которым здесь не предоставлены разрешения, не могут получить их, даже если разрешения предоставляются значением реестра DefaultAccessPermission или функцией CoInitializeSecurity. По умолчанию администраторы могут получать разрешения на локальный и удаленный запуск и активацию, а члены группы «Все» могут получать разрешения на локальную активацию и запуск.

Подробнее о данной ветке можно почитать по адресу https://docs.microsoft.com/en-us/windows/win32/com/hkey-local-machine-software-microsoft-ole

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

Устранение ошибки 10016

Исправление ошибки 10016 через PowerShell

Если вам не удалось изменить запуск службы для системы, то можно все поправить и избавиться от сообщений «APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
пользователю NT AUTHORITYСИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно)» с помощью скрипта PowerShell. Открываем ссылку с Microsoft

https://gallery.technet.microsoft.com/Grant-Revoke-Get-DCOM-22da5b96

Или во тут

Скачиваем тут сценарий DCOMPermissions.psm1

Исправление 10016 через powershell

Кладем данный модуль в нужную вам папку. Далее вы открываете консоль PowerShell и переходите в месторасположение данного модуля, после чего его нужно импортировать:

Import-Module .DCOMPermissions.psm1

Grant-DCOMPermission -ApplicationID «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}» -Account «SYSTEM» -Type Launch -Permissions LocalLaunch,LocalActivation -OverrideConfigurationPermissions

Если ошибок не вышло, то значит все успешно применено, перезагрузка не потребуется.

Исправление ошибки dcom в powershell

Далее вы можете посмотреть примененные разрешения:

GetDCOMPermission ApplicationID «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}» Type Launch

Вы увидите права у системы, у нее будет SID S-1-5-10.

ошибка 10016

На этом у меня все, мы успешно устранили ошибку DCOM 10016.  Я должен подчеркнуть, что ошибка DCOM 10016 вряд ли повлияет на производительность вашей системы. В очень старые времена, когда Microsoft впервые представила «Distributed» в компонентной объектной модели, были уязвимости. Однако эти уязвимости были исправлены, и DCOM теперь безопасен. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

В этой заметке я покажу, как исправить ошибку 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 {1CCB96F4-B8AD-4B43-9688-B273F58E0910} и APPID {AD65A69D-3831-40D7-9629-9B0B50A93843}пользователю 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

{000209FF-0000-0000-C000-000000000046} and APPID Unavailable to the user IIS APPPOOLappIISPool 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. В моем случае это

CLSID : {000209FF-0000-0000-C000-000000000046}
APPID: {AD65A69D-3831-40D7-9629-9B0B50A93843}

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

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

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

  1. Запустите редактор реестра (regedit.exe);
  2. Перейдите в ветку реестра, соответствующую вашему CLSID. У меня это HKEY_CLASSES_ROOTCLSID{000209FF-0000-0000-C000-000000000046};

    В некоторых случаях нужно смотреть также в разделе реестра [HKEY_CLASSES_ROOTWow6432NodeCLSID. При удаленном подключении к реестру он будет находиться в разделе HKEY_LOCAL_MACHINESOFTWAREClassesAppID.

  3. В параметре класса должно быть указано имя. У меня это Microsoft Word Application;

    Чаще всего эта проблема возникает с компонентами:
    Immersive Shell
    CLSID: {C2F03A33-21F5-47FA-B4BB-156362A2F239}
    APPID: {316CDED5-E4AE-4B15-9113-7055D84DCC97}
    RuntimeBroker
    CLSID: {D63B10C5-BB46-4990-A94F-E40B9D520160}
    APPID : {9CA88EE3-ACB7-47C8-AFC4-AB702511C276}

    HKEY_CLASSES_ROOTCLSID

  4. Щелкните правой кнопкой мыши по разделу реестра и выберите пункт Permissions (Разрешения);
  5. Нажмите на кнопку Advanced; права доступа к ветке реестра
  6. В разделе Owner (Владелец) будет указано NT ServiceTrustedInstaller или System; владелец ветки реестра
  7. Нажмите кнопку Change и укажите имя своей учетной записи администратора. Сохраните изменения; изменить владельца ветки реестра на администартора
  8. Обратите внимание, что имя владельца ветки сменилось на вашу учетную запись. Поставьте галку Replace owner on subcontainers and objects (Заменить владельца подконтейнеров и объектов) и нажмите “ОК”; заменить владельца ветки реестра и вложенных
  9. В списке разрешений добавьте вашу учетную запись администратора и предоставьте ей полный доступ (Full Permissions); полный доступ на ветку реестра для администратора
  10. Вы предоставили права на ветку с CLSID. Теперь нужно повторить предыдущие шаги, предоставив учетной записи администратора права на ветку с вашим идентификатором APPID из текста ошибки (например, HKEY_CLASSES_ROOTAppID{AD65A69D-3831-40D7-9629-9B0B50A93843};
  11. Теперь запустите консоль управления компонентами dcomcnfg с правами администратора (Control PanelAll Control Panel ItemsAdministrative ToolsComponent Services); dcomcnfg
  12. В консоли компонентов перейдите в ветку Component Services -> Computers -> My computer -> DCOM Config. В списке компонентов найдите имя компонента, которое вы определили на втором шаге (значение в столбце Application ID должно соответствовать вашему CLSID из ошибки). Откройте свойства компонента; свойства dcom компонента

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

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

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

  14. В моем случае приложению не хватало прав на «Локальный Запуск» (Local Activation Permission). В секции Launch and Activation Permissions выберите Customize и нажмите кнопку Edit;
  15. В список доступа нужно добавить учетную запись, которой не хватало разрешений на запуск. Имя учетной записи было указано в тексте ошибки: в зависимости от текста в ошибке DCOM 10016 это может быть System, конкретный пользователь или учетка под которой запускается пул IIS (в этом случае нужно добавить доступ для локальной группы IIS_IUSR).

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

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

Ошибка DistributedCOM с кодом события 10016 в Windows 11/10  — одна из самых известных проблем с которой пользователи сталкиваются в системном журнале. Эта ошибка запускается, когда определенные процессы не содержат прав доступа к компонентам DCOM, которые упоминаются в журналах событий. Это ограничивает безупречную работу компьютера, что в конечном итоге раздражает пользователей. Система сразу же забивает «Просмотрщик событий» тысячами сообщений с показам событий.

В ходе расследования выясняется, что при попытке запустить сервер DCOM с помощью приложения у вас нет никаких прав на это, и вы получите приведенную ниже ошибку в средстве просмотра событий: «Параметры разрешений для конкретного приложения не дают разрешения Локальной Активации для приложения COM-сервера«.

Перед тем, как приступить к исправлению, создайте точку восстановления системы.

Исправление кода события 10016 Ошибки DistributedCOM

Это самый быстрый и простой способ, чтобы исправить ошибку DistributedCOM с кодом события 10016, но менее надежный.

Нажмите Win+R и введите regedit, чтобы запустить редактор реестра. В реестре перейдите по пути:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftOle
  • Удалите следующие значения (некоторых может не быть): DefaultAccessPermission, DefaultLaunchPermission, MachineAccessRestriction, MachineLaunchRestriction.HKEY_LOCAL_MACHINE SOFTWARE Microsoft Ole

Перезагрузите ПК и проверьте, появляется ли ошибка. Если да, то следуем ниже большому способу из 3 пунктов, где мы зададим привилегии для определенного DCOM.

Проверка процесса

1. Прежде всего должны отсортировать процесс или службу, связанную с кодом ошибки 10016. Далее вы найдете описание ошибки чуть ниже во вкладке «общие» или «подробности». Из описания скопируйте CLSID. Он может выглядеть как {D63B10C5… .

Ошибка 10016 DistributedCOM

2. Отроем теперь редактор реестра. Нажмите сочетание кнопок Win+R и введите regedit.

win+r

3. В редакторе реестра выделите «Компьютер» одним нажатием мышки и нажмите «Правка» > «Найти«.

поиск ключей в реестре

  1. Введите в поле поиска свой CLSID ключ, который типа {D63B10C5… . Поставьте галочку искать только «имена разделов».
  2. Вам выдаст ключ в правой стороне, выделите его мышкой один раз.
  3. В правом поле у вас будет ключ «По умолчанию» со значением RuntimeBroker. Запомните это значение оно нам пригодится в дальнейшим.

Следующая задача — запустить сценарий, чтобы внести некоторые изменения в раздел разрешений, найденных в службах компонентов для этой службы.

ключ реестра RuntimeBroker

Открытие сервисов компонентов

Наберите в поиске windows «Службы компонентов«, нажмите правой кнопкой мыши и выберите запустить от имени администратора.

Службы компонентов запуск от имени админа

Перейдите по следующему пути Службы компонентов > Компьютеры > Мой компьютер > Настройка DCOM > и найдите в списке RuntimeBroker.

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

Компонент RuntimeBroker


  1. Нажмите по очереди на двух файлов с именем RuntimeBroker правой кнопкой мыши выберите «Свойства«.
  2. Во вкладке «Общие» у вас будет «Код приложения» запомните его на двух файлах RuntimeBroker.
  3. Сравните код с ошибкой в «Журнале событий». APPID в журнале с ошибкой, должен соответствовать коду приложения в файле RuntimeBroker.

Определение кода приложения

Исправление разрешений

Наконец, когда вы удостоверились, что это именно тот файл выдает ошибку, то проделайте следующие шаги:

  • Нажмите в свойствах RuntimeBroker вкладку «Безопасность«.
  • Кнопка «настроить» должна быть активной.
  • Проделайте ниже шаги чтобы активировать настройки. (Не Запуск сценария PowerShell).

Запуск сценария PowerShell активирует эту кнопку настройки с помощью команды, но я рекомендую воспользоваться этим способом, если у вас не получилось все по порядку. Пропустите этот шаг «Запуск сценария PowerShell», если что потом вернетесь к нему.

Запуск сценария PowerShell

Чтобы обойти эту ошибку, вам нужно отредактировать некоторые разрешения в разделе «Служба компонентов» ключа RuntimeBroker. Прежде чем перейти к модификации, вам нужно запустить скрипт, который поможет вам изменить разрешения. Дальше поймете зачем мы это делали.

1. Нажмите сочетание кнопок Win+X и выберите Windows PowerShell (администратор).

2. Загрузите файл с кодом ниже. Разархивируйте скаченный архив, в нем содержится текстовый файл с кодом.

3. Вставьте скаченный скрипт с файла в командную строку PowerShell.

PowerShell исправление ошибки 10016 DistributedCOM


Разрешение на запуск и активацию


  • 1-2. Скопируйте «Код приложения» в службах и компонентах, компонента RuntimeBroker.
  • 3. Откройте редактор реестра, нажмите «правка» > «найти» и вставьте код приложения, который до этого скопировали. Нажмите правой кнопкой мыши на найденным ключе в реестре и выберите «Разрешения«.
  • 4. далее в окне нажмите «Дополнительно«.

Добавление прав разрешений в реестре


  1. В окне сверху «Владелец» нажмите «Изменить«.
  2. В следующим окне нажмите внизу «Дополнительно«.
  3. Нажмите справа «Поиск» и ниже со списка выберите «Администраторы«.

Добавить расширенные права пользователей


  • Теперь переходим обратно в компоненты к свойству файла RuntimeBroker и мы видим, что теперь кнопка «настроить» стала интерактивной.
  • Выскочит предупреждающее окно нажмите Удалить, если вам не мог код сценария powerShell.
  • Нажмите Отмена, если вам помог код сценария powerShell.
  • Нажмите Изменить напротив кнопки «настроить» в графе «разрешения на запуск и активацию».

Настройка рунтаймброкер компонента

Добавим группы система и local service.

  1. В окне, где имеются учетные записи нажмите «Добавить«.
  2. Ниже кнопка «Дополнительно«.
  3. Нажмите «Поиск» с боку.
  4. Найдите локальную службу LOCAL SERVICE и нажмите OK.

Добавить локальную службу


Аналогичным способом, что описан выше добавьте «Система«.

Добавление системы


Теперь у вас появились две группы система и local service, нажмите на каждую из них и поставьте галочки в пунктах «Локальный запуск» и «Локальная активация».

Перезагрузите компьютер, ноутбук и код события 10016 Ошибка DistributedCOM должен пропасть.

Добавление прав доступа


Смотрите еще:

  • DISM ошибка 87 в командной строке Windows 
  • Ошибка 0x8000ffff при восстановлении системы Windows 10
  • Как исправить Ошибку 0xc1900101 0x20004 при установке Windows 10
  • Как исправить ошибки обновлений Windows 10
  • Как узнать IP-адрес компьютера с помощью PowerShell Windows

[ Telegram | Поддержать ]

Ошибка 10016 в windows 10 и Windows Server

На сервере Windows Server 2012 R2 постоянно возникает ошибка 10016.

Имя журнала: Система Источник: DistributedCOM Код: 10016

{D63B10C5-BB46-4990-A94F-E40B9D520160}

Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} или {316CDED5-E4AE-4B15-9113-7055D84DCC97} или {4839DDB7-58C2-48F5-8283-E1D1807D0D7D} пользователю NT AUTHORITYСИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов.

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID {6B3B8D23-FA8D-40B9-8DBD-B950333E2C52} and APPID {4839DDB7-58C2-48F5-8283-E1D1807D0D7D} to the user NT AUTHORITYLOCAL SERVICE SID (S-1-5-19) 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 объекту, чаще всего, это связано с недостаточностью разрешений. Был реализован шаблон кодирования, где код сначала пытается получить доступ к компонентам DCOM с одним набором параметров. Если первая попытка не удалась, она пытается снова с другим набором параметров. Причина, по которой он не пропускает первую попытку, заключается в том, что существуют сценарии, в которых он может быть успешным. В этих сценариях это предпочтительнее. Если вы не в курсе, что такое COM объекты и DCOM, то если по простому, это концепция для создания программного обеспечения на основе взаимодействующих компонентов объекта, каждый из которых может использоваться во многих программах одновременно. На основе COM были созданы ActiveX, DCOM, COM+

, DirectX, .Net.

  • {316CDED5-E4AE-4B15-9113-7055D84DCC97} — Кнопка пуск (Immersive Shell) — интерфейс метро
  • {4839DDB7-58C2-48F5-8283-E1D1807D0D7D} — ShellServiceHost
  • {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} — RuntimeBroker

Подробнее вы можете почитать в вики https://ru.wikipedia.org/wiki/Component_Object_Model

Респект за пост! Спасибо за работу!

Хотите больше постов? Новости технологий? Обзоры гаджетов? Для всего этого, а также для продвижения сайта, развития, покупки нового дизайна и оплаты хостинга, мне необходима помощь от вас, читатели. Подробнее о донатах читайте на специальной странице.

На данный момент есть возможность поддержать меня через Яндекс Деньги:

И PayPal. Спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.

  1. Сразу логинимся на проблемный сервер под администратором, чтобы не вводить всякий раз имя и пароль. Запускаем Regedit.
  2. Запускаем поиск (CTRL+F) и ищем второй из GUIDов в описании ошибки, т.е. APPID. В данном случае это «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}».

  3. Первый результат поиска должен быть в ключе HKEY_CLASSES_ROOTAppID. Наступаем на найденный GUID в левой панели и щелкаем правой кнопкой, выбираем Разрешения, а затем кнопку Дополнительно.

  4. В верхней части дополнительных параметров указан текущий владелец TrustedInstaller. Нажимаем рядом с ним ссылку Изменить.

  5. Нам нужно сделать владельцем локальную группу Администраторы. Затем кнопки Дополнительно, Поиск и выбираем в результатах поиска Администраторы.

  6. Ставим флажок «Заменить владельца подконтейнеров и объектов», кнопка ОК.

  7. После смены владельца мы можем изменять разрешения. В окне Разрешения на вкладке Безопасность даем для СИСТЕМА и Администраторы разрешение на полный доступ. ОК.
  8. Далее смотрим для нашего ключа HKEY_CLASSES_ROOTAppID{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} значение параметра «(По умолчанию)» = «RuntimeBroker«.

Открываем редактор реестра Windows. Переходим в ветку

HKEY_CLASSES_ROOTAppIDRuntimeBroker.exe

щелкаем по нему правым кликом и выбираем свойства.

Даем права для группы администраторы (Полный доступ)

Если не даст вам поставить, то вам нужно заменить владельца Trustinstaller на себя или группу администраторы. Как только дали права, идем опять в компоненты DCOM и выставляем права, как описывал выше.

10. Перезагружаем сервер, проверяем логи, по сути ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} вы не должны больше увидеть.

В Windows 10 Anniversary Updat данная ошибка 10016 решается аналогично, так, что глюк тянется уже лет 5

Ответы (8) 

1. Откройте “Редактор реестра” и перейдите к разделу

HKEY_CLASSES_ROOTAppID.

2. Найдите подраздел , соответствующий AppID из вашего сообщения об

ошибке, то есть .

3. Щелкните на нем правой кнопкой, выберите “Разрешения” и “Дополнительно”.

4. Если владельцем является “Trustedinstaller”, то напротив “Владелец”, нажмите

“Изменить”, не обращайте внимание на не соответствующий AppID в

заголовке окна “Дополнительные параметры безопасности” на моем снимке

5. В поле “Введите имена выбираемых объектов” введите “Администраторы”

(предполагаю, что ваша учетная запись входит в группу “Администраторы”) и

нажмите “Проверить имена”, затем нажмите “OK”.

6. В окне “Дополнительные параметры безопасности” нажмите “Применить” и

“OK”, чтобы закрыть окно.

7. Теперь щелкните правой кнопкой мыши на разделе реестра

, выберите “Разрешения”, в

списке “Группы и пользователи” выделите “Администраторы” и поставьте отметку “Полный доступ”, нажмите “Применить” и “OK”.

8. Откройте диалог “Выполнить” и введите dcomcnfg.

9. В окне “Службы компонентов” выберите последовательно “Компьютер” →

Как исправить ошибку 10016 через удаление ключей из ветки OLe

Данный метод подразумевает удаление нескольких ключей реестра, которые отвечают за проверку прав на COM объекты. Нас будет интересовать ветка реестра:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftOle

Ole — эта ветка управляют параметрами запуска по умолчанию и разрешениями доступа, а также возможностями безопасности на уровне вызовов для приложений на основе COM, которые не вызывают CoInitializeSecurity. Только администраторы, создатель объекта и система имеют полный доступ к этой части реестра. Все остальные пользователи имеют доступ только для чтения.

Перед тем, как вы будите вносить изменения я вам советую на всякий случай сделать резервную копию реестра или ветки.

Щелкаем по контейнеру Ole правым кликом и из контекстного меню выберите пункт Экспорт.

Задаем имя экспортируемого ключа. В случае проблем вы всегда сможете его импортировать и вернуть все к исходному состоянию.

Теперь, чтобы исправить ошибку 10016 в Windows 10 или как у меня в Windows Server 2012 R2 или выше, вам необходимо удалить четыре ключа:

  • DefaultAccessPermission — Определяет список разрешений доступа по умолчанию для компьютера. Устанавливает список контроля доступа (ACL) участников, которые могут получить доступ к классам, для которых нет настройки AccessPermission . Этот ACL используется только приложениями, которые не вызывают CoInitializeSecurity и не имеют значения AccessPermission под своим ключом AppID. Среда выполнения COM на сервере проверяет ACL, описываемый этим значением, при олицетворении вызывающей стороны, которая пытается подключиться к объекту, и ее успех определяет, разрешен или запрещен доступ. Если проверка доступа не пройдена, соединение с объектом будет запрещено. Если это именованное значение не существует, только серверу участника и локальной системе разрешается вызывать сервер. По умолчанию это значение не содержит записей. Только принципал сервера и система могут вызывать сервер. Это значение обеспечивает простой уровень централизованного администрирования доступа по умолчанию к подключенным объектам на компьютере.
  • DefaultLaunchPermission — Определяет список запуска по умолчанию для компьютера. Определяет список контроля доступа (ACL) участников, которые могут запускать классы, которые не указывают свой собственный ACL через значение реестра LaunchPermission. Права доступа по умолчанию следующие: Администраторы: разрешить запуск, СИСТЕМА: разрешить запуск, ИНТЕРАКТИВНО: разрешить запуск. Если значение LaunchPermission установлено для сервера, оно имеет приоритет над значением DefaultLaunchPermission . После получения локального или удаленного запроса на запуск сервера, у которого ключ AppID не имеет собственного значения LaunchPermission, проверяется ACL, описанный этим значением, при олицетворении клиента, и его успех разрешает или запрещает запуск кода класса.Это значение обеспечивает простой уровень централизованного администрирования запуска по умолчанию для доступа к другим незарегистрированным классам на компьютере. Например, администратор может использовать инструмент DCOMCNFG для настройки системы, чтобы разрешить доступ только для чтения для опытных пользователей. Поэтому OLE будет ограничивать запросы на запуск кода класса членами группы «Опытные пользователи». Впоследствии администратор может настроить разрешения на запуск для отдельных классов, чтобы предоставить возможность запуска кода класса другим группам или отдельным пользователям по мере необходимости.
  • MachineAccessRestriction — Устанавливает политику ограничения на уровне компьютера для доступа к компоненту. Принципалы, которым здесь не предоставлены разрешения, не могут получить их, даже если разрешения предоставляются значением реестра DefaultAccessPermission или функцией CoInitializeSecurity. По умолчанию члены группы «Все» могут получать разрешения на локальный и удаленный доступ, а анонимные пользователи могут получать разрешения на локальный доступ.
  • MachineLaunchRestriction — Устанавливает политику ограничения на уровне компьютера для запуска и активации компонента. Принципалы, которым здесь не предоставлены разрешения, не могут получить их, даже если разрешения предоставляются значением реестра DefaultAccessPermission или функцией CoInitializeSecurity. По умолчанию администраторы могут получать разрешения на локальный и удаленный запуск и активацию, а члены группы «Все» могут получать разрешения на локальную активацию и запуск.

Подробнее о данной ветке можно почитать по адресу https://docs.microsoft.com/en-us/windows/win32/com/hkey-local-machine-software-microsoft-ole

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

Что такое DistributedCOM?

Прежде всего, что такое DistributedCOM и почему он показывает ошибку?

Распределенная компонентная объектная модель (DCOM) является неотъемлемым аспектом сетевого взаимодействия на компьютерах Windows. Это запатентованная технология Microsoft, которая срабатывает каждый раз, когда приложение подключается к Интернету. Традиционный COM может получить доступ только к информации на той же машине, тогда как DCOM может получить доступ к данным на удаленных серверах.

Например, многие веб-сайты и службы используют сценарии для доступа к удаленному серверу. Когда ваша система делает запрос с использованием сценария или иным образом, DCOM направляет запрос конкретному объекту сценария. Учитывая, как часто современные приложения используют сетевое соединение и наше общее использование компьютеров, вы можете увидеть, как часто DCOM используется.

Ошибка DCOM обычно возникает, когда приложение или служба пытается использовать DCOM, но не имеет надлежащих разрешений. В большинстве случаев ошибки DCOM не влияют на вашу систему, за исключением засорения вашего Event Viewer. Поскольку большинство пользователей Windows 10 не проверяют Event Viewer регулярно, об ошибках DCOM не стоит беспокоиться. Тем не менее, безошибочная система лучше, чем альтернатива.

Имея это в виду, вот один простой метод для исправления ошибки DCOM 10016, и еще одно исправление.

Отредактируйте реестр Windows, чтобы исправить ошибку DCOM 10016

Первый порт захода — это реестр Windows. Простая настройка реестра иногда может сразу исправить ошибку DCOM 10016.

Перед редактированием реестра рекомендую сделать резервную копию.

Введите регистрацию в строке поиска в меню «Пуск» и выберите «Лучшее совпадение». Перейдите в « Файл» → «Экспорт» , установите для параметра «Экспорт диапазона» значение «Все», затем сохраните реестр Windows в удобном месте. Следующее исправление не повредит ваш компьютер, но лучше всего сделать резервную копию для восстановления в случае непредвиденной ошибки.

Теперь давайте попробуем исправить.

  1. Введите регистрацию в строке поиска в меню «Пуск» и выберите «Лучшее соответствие».
  2. Перейдите к HKEY_LOCAL_MACHINESOFTWAREMicrosoftOle. Вы можете скопировать и вставить адрес в адресную строку редактора реестра.
  3. Удалите следующие четыре раздела реестра:
  4. Закройте редактор реестра Windows, затем перезагрузите систему.

Ваша система должна оставаться без ошибок DCOM 10016 с этого момента.

Исправление ошибки 10016 через PowerShell

Если вам не удалось изменить запуск службы для системы, то можно все поправить и избавиться от сообщений «APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} пользователю NT AUTHORITYСИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно)» с помощью скрипта PowerShell. Открываем ссылку с Microsoft

https://gallery.technet.microsoft.com/Grant-Revoke-Get-DCOM-22da5b96

Или во тут

DCOMPermissions.psm1

Скачиваем тут сценарий DCOMPermissions.psm1

Кладем данный модуль в нужную вам папку. Далее вы открываете консоль PowerShell и переходите в месторасположение данного модуля, после чего его нужно импортировать:

Import-Module .DCOMPermissions.psm1 Grant-DCOMPermission -ApplicationID «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}» -Account «SYSTEM» -Type Launch -Permissions LocalLaunch,LocalActivation -OverrideConfigurationPermissions

Если ошибок не вышло, то значит все успешно применено, перезагрузка не потребуется.

Далее вы можете посмотреть примененные разрешения:

Get-DCOMPermission -ApplicationID «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}» -Type Launch

Вы увидите права у системы, у нее будет SID S-1-5-10.

На этом у меня все, мы успешно устранили ошибку DCOM 10016. Я должен подчеркнуть, что ошибка DCOM 10016 вряд ли повлияет на производительность вашей системы. В очень старые времена, когда Microsoft впервые представила «Distributed» в компонентной объектной модели, были уязвимости. Однако эти уязвимости были исправлены, и DCOM теперь безопасен. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Подведение итогов

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

Что касается ошибки 10016 DistributedCOM, то её устранение не занимает много времени и не требует реализации трудоёмких задач: выполнив манипуляции по описанной инструкции, можно за несколько минут устранить неполадку.

Далеко не все ошибки в Windows проявляют себя очевидным образом – аварийным завершением работы приложений, отказом базовых функций управления или появлением окон с тревожными уведомлениями. О том, что в системе случился тот или иной сбой, пользователь может даже не подозревать, если только он не имеет привычки регулярно просматривать Журнал событий. Такие скрытые ошибки, как правило, не являются критичными и в большинстве случаев указывают на некорректную работу компонентов. Примером может служить ошибка 10016 DistributedCOM в Windows 10, регулярно появляющаяся в Журнале событий обычно сразу после загрузки операционной системы.

Появление ошибки 10016 говорит о том, что системная служба DCOM не смогла запустить какое-то приложение по причине отсутствия у системы (пользователя SYSTEM) соответствующих прав. Какое это приложение, можно определить по его APPID-коду в описании. Однако это не столь важно, ведь для исправления неполадки достаточно знать именно APPID и CLSID COM-сервера, который также указан в описании неполадки. Сама же неисправность устраняется предоставлением системе полных прав на запуск приложения.

Перед тем как приступать к активным действиям, необходимо получить список ошибок в оснастке просмотра событий. Открыв ее командой eventvwr, разверните в левой колонке Журналы Windows – Система, справа нажмите «Фильтр текущего журнала» и отсортируйте записи по коду события 10016 и/или источнику.

Поиск всех ошибок 10016 в Журнале событий

Теперь скопируйте APPID-код приложения из описания ошибки и откройте командой regedit штатный редактор реестра.

Параметры APPID и CLSID

Выделите корневой раздел «Компьютер» и выполните поиск по скопированному идентификатору, отметив среди искомых объектов «Имена разделов».

Редактор реестра

oshibka-10016-4

Поиск разделов по APPID

Далее кликните ПКМ по найденному разделу, выберите в меню «Разрешения» и нажмите в открывшемся окошке кнопку «Дополнительно».

Предоставление разрешений шаг 1

Предоставление разрешений шаг 2

В окне дополнительных параметров напротив имени владельца нажмите «Изменить», потом «Дополнительно», затем «Поиск» и выберите в качестве нового хозяина «Администраторы». Последовательно сохраните настройки.

Предоставление разрешений шаг 3

Предоставление разрешений шаг 4

Предоставление разрешений шаг 5

Предоставление разрешений шаг 6

Предоставление разрешений шаг 7 сохранение изменений

Точно такие же действия выполните в отношении ключа CLSID – найдите в реестре соответствующий ему раздел, поменяйте его владельца на «Администраторы» и предоставьте группе полный доступ. На этом первый этап исправления ошибки 10016 DistributedCOM завершен.

Настройка параметров доступа

Этап 2

Изменив разрешения в реестре, откройте командой comexp.msc или dcomcnfg встроенное приложение «Службы компонентов», разверните в левой колонке ветку настроек так, как показано на скриншоте, и отыщите справа элемент «RuntimeBroker».

RuntimeBroker в окне Служба компонентов

Вполне вероятно у вас будет два таких элемента. Чтобы найти нужный, откройте его свойства и убедитесь, что указанный в них код приложения совпадает с APPID из описания ошибки 10016 DistributedCOM в Журнале событий. Неполадка с кодом события 10016 в Windows 10 может быть связана не только с RuntimeBroker, но и с другими приложениями, возможно, вам придется проверить их все.

Удостоверившись в правильности данных, переключитесь на вкладку «Безопасность» и нажмите кнопку «Изменить» в разделе «Разрешение на запуск и активацию».

Свойства RuntimeBroker

Если система попросит удалить нераспознаваемые записи разрешений, удалите таковые. Теперь нажмите в открывшемся окошке разрешений кнопку «Добавить», затем «Дополнительно», найдите через поиск пользователя LOCAL SERVICE и предоставьте ему разрешения на локальный запуск и на локальную активацию.

Добавление пользователей

Добавление пользователей шаг 2

Добавление пользователей шаг 3

Аналогичным образом добавьте с идентичными правами пользователя СИСТЕМА. Делается это по той же схеме, которая описана выше. Добавив указанных пользователей, последовательно сохраните все настройки и перезагрузите компьютер.

По идее, описанные выше действия должны помочь исправить ошибку 10016 в Windows 10, но, как показывает практика, в ряде случаев администратору не удается получить доступ к настройкам разрешений. Причины тому могут быть разными, а попытки их устранения нередко связаны с определенными рисками. Поэтому, если ошибка DistributedCOM не вызывает явных проблем, лучше проигнорировать ее, чтобы не навредить операционной системе и настройкам безопасности еще больше.

Возникновение ошибки DistributedCOM с кодом события Event ID 10016 означает, что приложение пыталось запустить сервер DCOM, но в текущей учетной записи пользователя нет требуемых разрешений для этого. Ошибка известна еще с Windows 7, однако не решается при обновлении системы до Windows 8.1 и 10.

Эта системная ошибка, в сообщении которой содержаться CLSID и APPID, и в большинстве случаев совершенно безвредная, но ее постоянное присутствие может раздражать.

Но прежде чем приступить к устранению неполадок, проверьте состояние блока питания ПК. Если используется разгон процессора, видеокарты или ОЗУ, уменьшите установленные параметры или вообще отключите. Кроме того, убедитесь, что драйверы видеокарты обновлены по последней версии.

Добавление полных разрешений приложению, вызывающего ошибку

Значения CLSID и APPID уникальны для каждого приложения. С их помощью можно идентифицировать приложение, вызывающего ошибку DistributedCOM 10016.

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

Откройте Редактор реестра командой regedit, запущенной из окна Win + R.

Перейдите в раздел HKEY_CLASSES_ROOT, затем в CLSID.

Найдите папку с идентификатором CLSID, который указан в сообщении об ошибке DCOM.

Теперь щелкните правой кнопкой мыши на нем и выберите «Разрешения», затем нажмите на кнопку «Дополнительно».

Перейдите на вкладку «Владелец» и измените его на группу «Администраторы». Отметьте флажком опцию «Заменить владельца подконтейнеров и объектов». Примените изменения нажатием на «ОК».

Вернувшись в окно разрешений, кликните на кнопку «Добавить». Нажмите Дополнительно – Поиск и выберите учетную запись «Все». Снова в окне разрешений выберите «Все» из списка пользователей и предоставьте ей полный доступ в столбце «Разрешить». Примените изменения на «ОК».

После этого в редакторе реестра перейдите по пути:
HKEY_LOCAL_MACHINE – Software – Classes – AppID.

Перейдите в раздел, содержащий тот же идентификатор приложения, что указан в сообщении об ошибке. Щелкните по нему правой кнопкой мыши и выберите «Разрешения», затем нажмите на «Дополнительно».

Повторите указанные шаги для предоставления приложению полного доступа.

Нужно отметить, что при просмотре папок CLSID и APPID увидите раздел с именем службы, вызывающей ошибку DCOM 10016.

Затем перейдите в Панель управления командой control из окна Win + R.

Переключитесь на крупные значки и перейдите в раздел «Администрирование».

Разверните вкладку «Службы компонентов». В центральном окне разверните вкладку «Компьютеры», затем Мой компьютер.

Теперь найдите службу, вызывающую ошибку, щелкните ее правой кнопкой мыши и выберите «Свойства». Откройте вкладку Безопасность.

Если разрешения были правильно установлены в реестре, появится возможность изменить параметры для всех трех категорий (на запуск и активацию, доступ и изменение настроек). Если какой-либо из них выделен серым цветом, повторите шаги по предоставлению полного доступа.

После выбора настроек для трех категорий, выберите «Изменить» для разрешения на запуск и активацию. Если отобразится предупреждение о том, что одна или несколько прикрепленных записей доступа имеют неправильный тип, щелкните кнопку «Удалить». Это означает, что разрешения в реестре были установлены на значение, отличное чем «По умолчанию», которое требуется для завершения исправления.

В новом окне найдите учетную запись «Система» в списке пользователей. Если она не существует, щелкните на «Добавить». Введите «Система» и кликните на «ОК».

Теперь выберите запись «Система», установите флажок в столбце разрешить рядом к локальным запуском и активацией.

Также можете увидеть локальный доступ вместо этого, поэтому просто убедитесь, что есть проверка для этого элемента в столбце разрешить. Для сохранения нажмите на «ОК».

Повторите шаги для остальных категорий – разрешения доступа и изменения настроек.

Затем повторите все шаги для других значений ClSID и AppID, перечисленный в журнале событий.

После завершения перезагрузите компьютер. Попытайтесь запустить программу, которую ранее не удавалось из-за ошибки DistributedCOM с Event ID 10016.

Удаление разделов реестра

Ошибку DCOM также может вызвать конфликт между разделами. Для ее решения попробуйте их удалить. Но перед этим сделайте резервную копию реестра.

Откройте Редактор реестра с помощью поисковой системы Winsows, предоставив ему доступ администратора.

Перейдите в раздел HKEY_LOCAL_MACHINE –SOFTWARE – Microsoft – Ole.

Теперь удалите разделы:

  • DefaultAccessPermission;
  • DefaultLaunchPermission;
  • MachineAccessRestriction;
  • MachineLaunchRestriction.

Сохраните изменения и перезагрузите систему. После перезагрузки в реестр будут записаны значения по умолчанию, что должно устранить ошибку DistributedCOM с кодом события 10016.

Profile picture for user Олег

Windows

На сервере в логах постоянно проскакивает ошибка Event ID 10016. Пример текста ошибки:

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{2593F8B9-4EAF-457C-B68A-50F6B8EA6B54}
 and APPID 
{15C20B67-12E7-4BB6-92BB-7AFF07997402}
 to the user 1CAdministrator SID (S-1-5-21-943282006-2197489507-2874824746-500) 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.

win

Разберёмся, что, собственно, произошло.

Некий пользователь по имени 1CAdministrator (1C — это имя компьютера, пользователь — локальный администратор компьютера) с идентификатором SID (S-1-5-21-943282006-2197489507-2874824746-500), будучи в здравом уме и твёрдой памяти, находясь на локальной машине (LocalHost — этот сервер), с помощью LRPC (Lightweight Remote Procedure Call — это оптимизированный способ локального запуска удалённых процедур) запустил какое-то приложение с идентификатором APPID {15C20B67-12E7-4BB6-92BB-7AFF07997402} в каком-то контейнере приложений с неизвестным SID.

Это приложение с идентификатором APPID {15C20B67-12E7-4BB6-92BB-7AFF07997402} полезло в службу COM Server с идентификатором CLSID {2593F8B9-4EAF-457C-B68A-50F6B8EA6B54} и обратилось к DCOM объекту с какой-то командой, которое требует права Local Activation. А таких прав у приложения (или пользователя, или системы) нет.

Скорее всего приложение обратится с повторным запросом к DCOM объекту уже с другим набором параметров, не требующих прав Local Activation, и запрос пройдёт успешно. Но ошибка в логах от первого запроса всё равно останется. Такое поведение говорит о не совсем корректной реализации данной функции приложения, ты сначала проверяй какие права у тебя есть, а потом запрос делай.

Возможно также, что приложение было некорректно установлено, или пользователь, от имени которого раньше запускалось приложение, был удалён.

Или просто сбой в матрице и слетели права доступа.

Запоминаем идентификаторы:

  • CLSID {2593F8B9-4EAF-457C-B68A-50F6B8EA6B54}
  • APPID {15C20B67-12E7-4BB6-92BB-7AFF07997402}

Что можно сделать с Event ID 10016?

Установить последние обновления Windows. Не помешает.

Переустановить приложение, которое вызывает ошибку. Если вы, конечно, знаете, что это за приложение.

Дать права Local Activation приложению, которое пытается лезет в службу COM Server с идентификатором CLSID {2593F8B9-4EAF-457C-B68A-50F6B8EA6B54}.

Назначение прав доступа

Чтобы назначить права доступа, нужно иметь права… назначать права. Дадим себе права изменять права доступа нужным приложениям.

Работаем под локальным администратором. Запускаем реестр.

regedit

Переходим в ветку реестра

HKEY_CLASSES_ROOTCLSID

И находим там ветку реестра с идентификатором CLSID {2593F8B9-4EAF-457C-B68A-50F6B8EA6B54}.

win

Кликаем правой кнопкой на ветку реестра, выбираем Permissions (Разрешения).

win

И я уже вижу косяк. В списках пользователей есть неизвестный аккаунт Account Unknown. Скорее всего раньше приложение работало от его имени. Но нам сейчас это уже не принципиально.

Нажимаем кнопку Advanced (Дополнительно).

win

Владелец ветки реестра TrustedInstaller. Меняем его на себя (локального администратора). Нажимаем Change (Изменить) и в списке пользователей указываем себя или группу локальных администраторов. Я указываю себя.

win

Ставим галку Replace owner on subcontainers and objects (Заменить владельца подконтейнеров и объектов), чтобы права применились ко всем объектам ветки реестра. OK.

win

В списке пользователей группе локальных администраторов и пользователю SYSTEM (СИСТЕМА) даём полные права Full Control. OK.

Переходим в ветку реестра

HKEY_CLASSES_ROOTAppID

И находим там ветку реестра с идентификатором APPID {15C20B67-12E7-4BB6-92BB-7AFF07997402}.

win

Запоминаем имя приложения, оно написано в параметре Default (По умолчанию):

  • APPID {15C20B67-12E7-4BB6-92BB-7AFF07997402} RuntimeBroker.

Повторяем все те же действия, меняем владельца объекта с TrustedInstaller на себя или группу локальных администраторов. В списке пользователей группе локальных администраторов и пользователю SYSTEM (СИСТЕМА) даём полные права Full Control.

Теперь нужно дать права Local Activation приложению.

Запускаем оснастку Component Services (Службы компонентов) от имени администратора.

win

Или:

mmc comexp.msc

Переходим в Component Services → Computers → My Computer → DCOM Config (Службы компонентов → Компьютеры → Мой компьютер → Настройка DCOM.

win

Находим в списке приложение с определённым нами именем RuntimeBroker и Application ID {15C20B67-12E7-4BB6-92BB-7AFF07997402}.

Если приложение не находится, то оно может быть 32-битным, его нужно искать в оснастке:

mmc comexp.msc /32

Кликаем правой кнопкой на приложение, Properties (Свойства).

win

Вкладка Security (Безопасность), блок Launch and Activation Permissions (Разрешения на запуск и активацию), Edit (Изменить).

win

У меня отображается ошибка. Некоторые разрешения не распознались. Косяк, удаляем их — Remove.

win

Опять видим косяк с неизвестным пользователем. Выбираем пользователя SYSTEM (СИСТЕМА) и даём права:

  • Local Launch (Локальный запуск)
  • Local Activation (Локальная активация)

OK.

Перезагружаем сервер, проверяем лог, ошибка 10016 для CLSID {2593F8B9-4EAF-457C-B68A-50F6B8EA6B54} и APPID {15C20B67-12E7-4BB6-92BB-7AFF07997402} не должна повториться.

Далеко не все случающиеся в Windows ошибки проявляют себя явно, так что пользователь может даже не подозревать о их наличии пока не откроет раздел «Система» в журнале событий Windows. Сегодня мы постараемся разобрать причины одной из таких ошибок. Встречается она довольно часто, причём во всех версиях Windows начиная с XP, имеет код 10016 и примерно следующее описание:

Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E} и APPID {260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E} пользователю DESKTOP-AEM9850/компик с ИД безопасности…

Здесь приводится лишь часть описания ошибки, на деле оно может быть более объёмным и отличаться в деталях. Из описания следует, что пользователь DESKTOP-AEM9850/компик (пользователем может быть и система) пытается запустить некий COM-компонент, но не может этого сделать по причине отсутствия соответствующих прав. Что за компонент и какое именно приложение вызывает ошибку Windows прямо не указывает, всё что нам известно, это CLSID компонент и идентификатор приложения.

Ошибка с кодом 10016

Задача заключается в том, чтобы определить, какому приложению принадлежит идентификатор, а затем предоставить пользователю или системе соответствующие права для его запуска. Проще всего это сделать через реестр. Откройте командой regedit редактор реестра и разверните ветку HKEY_CLASSES_ROOT/AppID. Воспользовавшись встроенным поиском, найдите в подразделе APPID приложения (в нашем примере это {260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E}).

Редактор реестра

После того как ключ будет найден, потребуется предоставить к нему полные права доступа пользователю, имя (первая его часть) которого указывается в описании. Для этого кликаем правой кнопкой мыши по ключу, выбираем «Разрешения»

Разрешения

И жмём в открывшемся окошке кнопку «Дополнительно».

Дополнительно

Как видим, в данном примере владельцем ключа является TrustedInstaller. Заменим его администратором (пользователем DESKTOP-AEM9850).

Кликните по ссылке «Изменить».

Изменить

Введите имя локального пользователя, нажмите «OK».

Имя локального пользователя

Установите галочку «Заменить владельца подконтейнеров и объектов» и еще раз нажмите «OK».

Установите галочку

Теперь во второй раз откройте окошко разрешений для группы, выделите в нём администратора, коим был заменён TrustedInstaller, отметьте галочкой чекбокс «Полный доступ» и сохраните новые настройки.

Полный доступ

Отлично, возвращаемся в редактор реестра и запоминаем значение параметра по умолчанию для найденного ранее ключа.

Редактор реестра

У нас это InstallAgent. Далее командой comexp.msc или dcomcnfg в окошке «Выполнить» открываем оснастку «Службы компонентов» и разворачиваем в меню «Компьютеры» -> «Мой компьютер» -> «Настройка DCOM» и находим компонент с именем параметра по умолчанию (InstallAgent). Через контекстное меню вызываем его свойства.

Службы компонентов

Переключаемся на вкладку «Безопасность», в блоке «Разрешения на запуск и активацию» жмём «Изменить».

Безопасность

Выбираем пользователя, устанавливаем галочки в чекбоксах «Локальный запуск» и «Локальная активация» после чего сохраняем настройки и перезагружаем компьютер.

Локальный запуск

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

Загрузка…

  • Remove From My Forums
  • General discussion

  • На серверах Windows Server 2012 в журнале событий появляется сообщение об ошибке:

    Источник: DistributedCOM

    ID: 10016

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

    {FDC3723D-1588-4BA3-92D4-42C430735D7D}
     и APPID
    {83B33982-693D-4824-B42E-7196AE61BB05}
     пользователю NT SERVICE\SQLSERVERAGENT с ИД безопасности (S-1-5-80-344959196-2060754871-2302487193-2804545603-1466107430) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности
    (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов.

    Как исправить эту ошибку?

    • Changed type

      Wednesday, October 9, 2013 8:10 AM
      нет действий

Ошибка DCOM 10016 в Windows 10/11 является очень распространенной проблемой среди пользователей, проблематичной в том смысле, что она не исчезает даже после обновления. Оказалось, что с этой ошибкой трудно справиться, хотя известно, что она не наносит серьезного ущерба операционной системе. Ошибка DCOM в значительной степени исправима, и показать вам, как это сделать, является основной целью этой статьи. Но сначала давайте взглянем на то, что такое ошибка DistributedCOM 10016 и что за нее отвечает.

ошибка distributedcom 10016

  1. Часть 1: Обзор Distributedcom
  2. Часть 2: Как исправить ошибку Distributedcom 10016 в Windows 10/11?

    • Исправление 1: Удалите ключи реестра Windows
    • Исправление 2: Включите разрешения DCOM для конкретной ошибки
    • Исправление 3: Используйте стороннее программное обеспечение для ремонта
  3. Часть 3: Как восстановить данные из-за ошибки Windows Distributedcom 10016?HOT

  4. Часть 4: Люди также спрашивают об ошибке DCOM

What is Distributedcom?

DistributedCOM, также известный как DCOM (объектная модель распределенных компонентов), является жизненно важным аспектом для упрощения набора протоколов, позволяющих осуществлять межсетевую работу между программами на компьютерах с операционной системой Windows. Широко признанная в качестве запатентованной технологии, разработанной Microsoft, она запускается, когда приложение подключается ко Всемирной паутине. Распределенная объектная модель способна получать доступ к информации на RAS (серверах удаленного доступа), в отличие от традиционного COM, способного получать доступ только к информации, хранящейся на том же компьютере.

Что вызывает ошибку Distributedcom 10016?

Ошибка DistributedCOM 10016 server 2016 является преднамеренной и возникает, когда компоненты Microsoft пытаются отправить запрос через распределенную объектную модель без требуемого разрешения на это. Однако можно с уверенностью игнорировать ошибки DistributedCOM, поскольку они никоим образом не нарушают функциональность вашей системы. Хотя эти ошибки могут быть устранены пользователем, рекомендуется игнорировать эти события.

Часть 2: Как исправить ошибку Distributedcom 10016 в Windows 10/11?

Поскольку компьютер, на котором отсутствуют ошибки, намного лучше и предпочтительнее последнего, ниже приведены наилучшие способы устранения ошибки 10016 в Microsoft-Windows-DistributedCOM system server 2016.

Исправление 1: Удалите ключи реестра Windows

Редактирование реестра Windows должно быть первым вариантом, когда дело доходит до исправления события distributedcom 10016. Просто удалив некоторые разделы реестра Windows, этих ошибок можно было бы избежать. Однако, прежде чем вносить изменения в реестр, настоятельно рекомендуется создать резервную копию вашей Windows. Чтобы сделать это:

  1. Введите «реестр» в строке поиска, расположенной в меню «Пуск», затем нажмите на наиболее подходящее.
  2. Перейдите к файлу, затем экспортируйте, в поле Диапазон экспорта измените значение на «Все», а затем сохраните в защищенном месте.

    Советы: Удаление разделов реестра Windows не нарушит функциональность вашей системы, но в ваших интересах создать ее резервную копию на случай непредвиденных обстоятельств. Ниже приведены шаги, которые необходимо предпринять для выполнения исправления путем удаления разделов реестра Windows после создания резервной копии:

  3. Введите «regedit» во всплывающем окне ‘Выполнить» после нажатия клавиш ‘Windows + R’.
  4. введите regedit в поле выполнить

  5. В адресной строке редактора реестра скопируйте и вставьте следующий адрес – HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole.
  6. перейдите по адресу в редакторе реестра

  7. Извлеките из реестра перечисленные ниже ключи: MachineLaunchRestriction, DefaultAccessPermission, MachineAccessRestriction, DefaultLaunchPermission.
  8. Завершите работу «Редактора реестра Windows’, а затем перезагрузите систему.

Выполнение этого должно быстро устранить проблему. Но если этого не произойдет, вы могли бы попробовать следующее исправление.

Исправление 2: Включите разрешения DCOM для конкретной ошибки

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

  1. Введите «Просмотр событий» в строке поиска, расположенной в меню «Пуск», затем нажмите на наилучшее возможное совпадение. Вы можете найти информацию, касающуюся определенного процесса или приложения, ответственного за событие 10016 distributedcom, в окне просмотра событий.
  2. Определите последнюю ошибку DCOM, перейдя в раздел «Журналы Windows — Система’. Разверните сообщение об ошибке, дважды щелкнув по нему. В разделе «Общие» вы найдете подробную информацию о том, почему у вас происходит событие 10016 distributedcom, в нем указаны идентификатор класса (CLSID) и идентификатор приложения (APPID). Хотя эти идентификаторы выглядят случайными, их можно использовать для определения того, какая служба или приложение ответственны за ошибку DistributedCOM.
  3. найдите подробную информацию об ошибке distributedcom

  4. Найдите идентификаторы класса и приложения. Для этого вам нужно выделить и скопировать идентификатор класса, запустить regedit, а затем выполнить поиск по этому каталогу, используя адресную строку regedit — HKEY_CLASSES_ROOT\CLSID\{ваш идентификатор класса находится здесь}. Как только поиск будет завершен, перепроверьте отображаемый идентификатор приложения, чтобы убедиться, совпадает ли он с идентификатором, указанным в сообщении об ошибке.
  5. найдите идентификаторы класса и приложения

  6. Отредактируйте разрешения для идентификатора класса. В списке записей в левой части экрана вы найдете идентификатор класса, ответственного за ошибку, щелкните по нему правой кнопкой мыши и затем установите для параметра ‘Разрешение» значение «Дополнительно». Затем нажмите на «Редактировать», выделив ‘Администраторы…’ Отредактируйте ‘Основные разрешения’, чтобы разрешить «Полный контроль», нажмите «Ок», когда закончите, затем «Применить» и «ОК’. Перезагрузите компьютер после выполнения этого шага.
  7. измените разрешение на идентификатор класса

  8. После перезагрузки компьютера введите «Службы компонентов» в строке поиска, расположенной в меню «Пуск», затем нажмите на наиболее подходящее. Перейдите к ‘Конфигурации DCOM» через «Компьютеры – Мой компьютер». Здесь вы найдете расширенный список служб и приложений, использующих распределенную объектную модель. Используйте имя и идентификатор приложения, которые вы указали на шаге 3, чтобы найти службу. Щелкните по нему правой кнопкой мыши и перейдите в раздел ‘Свойства – Безопасность’.
  9. Нажмите «Редактировать», «Добавить», «Добавить локальную службу», а затем «Применить» на вкладке «Разрешения на запуск и активацию». Поле «Локальная активация» должно быть отмечено галочкой, когда вы нажмете ‘Ок’. Перезагрузите компьютер во второй раз, когда закончите.

Исправление 3: Используйте стороннее программное обеспечение для ремонта

Если перечисленные выше исправления вам не по силам, вы всегда можете воспользоваться сторонним программным обеспечением. Существует программное обеспечение, специально разработанное для решения таких проблем, как ошибка DistributedCOM 10016. Однако убедитесь, что вы используете программное обеспечение, которому доверяете. Проверьте наличие отзывов и оценок перед установкой, так как это увеличит ваши шансы получить хорошую версию.

Часть 3: Как восстановить данные из-за ошибки Windows Distributedcom 10016?

Хотя событие 10016 Windows distributedcom не может нарушить функциональность вашего компьютера, применение определенных методов исправления без надлежащего резервного копирования файлов может привести к потере ценных данных или даже к сбою работы вашего компьютера. Если вы столкнулись с проблемой восстановления потерянных файлов в результате сбоя DistributedCOM error 10016 Windows 10, есть простое средство, которое предполагает использование стороннего программного обеспечения. Рекомендуемым программным обеспечением для таких сценариев является программное обеспечение для восстановления данных Tenorshare 4DDiG. Программное обеспечение для восстановления данных Tenorshare 4DDiG работает во всех сценариях, и ниже приведены его удивительные возможности:

  • Он способен восстанавливать более 1000 типов файлов, которые включают, но не ограничиваются ими, видео, аудио, фотографии и документы
  • Он способен восстанавливать потерянные данные в результате повреждения, вирусной атаки, форматирования, удаления, потерянного раздела, вирусной атаки и других типов сценариев
  • Он может восстанавливать потерянные данные с персональных компьютеров / ноутбуков, SD-карт, USB-флэш-накопителей, внешних и внутренних накопителей и других

С помощью программного обеспечения для восстановления данных Tenorshare 4DDiG восстановление данных еще никогда не было таким простым. Ниже приведены шаги, которые помогут вам в процессе восстановления данных:

  1. Запустите программное обеспечение для восстановления данных Tenorshare 4DDiG после установки. Отобразится начальный интерфейс программного обеспечения с восстановлением данных и расширенными опциями. Вам будет представлен список жестких дисков на выбор, выберите локальный диск с потерянными данными и затем нажмите на него, чтобы продолжить. Кроме того, вы можете выбрать тип файла, который вы хотите отсканировать, в правом верхнем углу, прежде чем продолжить.
  2. выберите SD-карту

  3. Пока 4DDiG сканирует выбранный каталог на наличие потерянных файлов, вы можете остановить или приостановить процесс в любое время, если увидели файлы, которые хотите восстановить. Использование фильтра поможет сузить область поиска.
  4. отсканируйте SD-карту, которая не будет отформатирована

  5. Просмотрите результаты сканирования и восстановите потерянные файлы в более надежном месте. Старайтесь не сохранять восстановленные потерянные файлы в том же месте, где вы их потеряли.
  6. восстановление потерянных данных с SD-карты

Часть 4: Люди также спрашивают об ошибке DCOM

Как исправить ошибку DCOM 10016 в Windows 11?

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

Как исправить ошибку Distributedcom 10005?

Ошибка DistributedCOM 10005 может быть устранена тремя простыми способами, а именно: установить службы интеграции серверов (SQL) в нормальное состояние на обоих узлах, удалить серверы Microsoft SQL с помощью стороннего программного обеспечения или проигнорировать ошибку, поскольку она является доброкачественной и не оказывает влияния на операционную систему.

Вывод

Исправить распространяемую com-ошибку 10016 в Windows 11 довольно просто и не требует от пользователя технических знаний для этого. Однако некоторые исправления занимают больше времени, чем ожидалось, и поэтому некоторые пользователи обращаются к стороннему программному обеспечению, которое также эффективно. Нельзя исключать непредвиденных обстоятельств, таких как потеря данных в результате внедрения некоторых исправлений. В таких случаях мы рекомендуем использовать программное обеспечение Tenorshare 4DDiG для восстановления потерянных файлов.

4DDiG - Mac/Windows Data Recovery

Tenorshare 4DDiG Data Recovery

4DDiG — это ваш непревзойденный выбор для восстановления всех потерянных данных на компьютере Windows / Mac после различных сценариев потери, таких как удаление, форматирование, RAW и т.д. с более высокой вероятностью успеха.

Скачать Бесплатно

Скачать Бесплатно

Купить Сейчас

Купить Сейчас

Понравилась статья? Поделить с друзьями:
  • Ошибка 10016 windows securitycenter wscdataprotection
  • Ошибка 10016 windows securitycenter wscbrokermanager
  • Ошибка 10003 insite
  • Ошибка 1002 ошибка графического интерфейса directx недоступен
  • Ошибка 10016 windows 10 перезагружается компьютер