Обновлено 19.08.2021

Доброго времени суток, уважаемые читатели, сегодня решаем ошибку 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}
Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения 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
Сначала нужно обновить Windows через центр обновления, и если не поможет, то делаем по очереди предложенные решения:
- Назначаем недостающие права на ветку с GUID номером {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} или другим, зависит от вашей ситуации с кодом ошибки 10016
- Удаление некоторых ключей реестра
- Использование скрипта PowerShell
Как исправить ошибку 10016 через назначение прав в реестре
- Сразу логинимся на проблемный сервер под администратором, чтобы не вводить всякий раз имя и пароль. Запускаем Regedit.
- Запускаем поиск (CTRL+F) и ищем второй из GUIDов в описании ошибки, т.е. APPID. В данном случае это «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}».

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

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

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

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

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

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

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

Открываем редактор реестра Windows. Переходим в ветку
HKEY_CLASSES_ROOTAppIDRuntimeBroker.exe
щелкаем по нему правым кликом и выбираем свойства.

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

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

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 правым кликом и из контекстного меню выберите пункт Экспорт.

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

Теперь, чтобы исправить ошибку 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 через 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

Кладем данный модуль в нужную вам папку. Далее вы открываете консоль 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.
Содержание
- Ошибка DistributedCOM Код события 10016 Windows
- Исправление кода события 10016 Ошибки DistributedCOM
- Проверка процесса
- Открытие сервисов компонентов
- Исправление разрешений
- Ошибка 10016 windows securitycenter wscdataprotection
- Ошибка 10016 в windows 10 и Windows Server
- Методы решения ошибки 10016
- Как исправить ошибку 10016 через назначение прав в реестре
- Как исправить ошибку 10016 через удаление ключей из ветки OLe
- Исправление ошибки 10016 через PowerShell
- Ошибка Windows.SecurityCenter.WscBrokerManager [Решение]
- 7 Replies to “ Ошибка Windows.SecurityCenter.WscBrokerManager [Решение] ”
- Distributedcom 10016 Windows 10, как исправить?
- Что означают ошибки DCOM 10016 в Windows 10
- Сделать копию реестра
- Предоставление разрешений DCOM
- Предоставление разрешений определенным приложениям
- Запуск скрипта PowerShell
- Внесение разрешений в «Службе компонентов»
- Устранение ошибки 10016 при запуске «Центра обеспечения безопасности»
- Видео — Distributedcom 10016 Windows 10, как исправить?
В ходе расследования выясняется, что при попытке запустить сервер DCOM с помощью приложения у вас нет никаких прав на это, и вы получите приведенную ниже ошибку в средстве просмотра событий: «Параметры разрешений для конкретного приложения не дают разрешения Локальной Активации для приложения COM-сервера«.
Перед тем, как приступить к исправлению, создайте точку восстановления системы.
Исправление кода события 10016 Ошибки DistributedCOM
Это самый быстрый и простой способ, чтобы исправить ошибку DistributedCOM с кодом события 10016, но менее надежный.
Нажмите Win+R и введите regedit, чтобы запустить редактор реестра. В реестре перейдите по пути:
Перезагрузите ПК и проверьте, появляется ли ошибка. Если да, то следуем ниже большому способу из 3 пунктов, где мы зададим привилегии для определенного DCOM.
Проверка процесса

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

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


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

Перейдите по следующему пути Службы компонентов > Компьютеры > Мой компьютер > Настройка DCOM > и найдите в списке RuntimeBroker.
В некоторых случаях может быть два файла с этим именем. Вам нужно выяснить, какой файл несет ответственность за ошибку, что ниже мы и сделаем.


Исправление разрешений
Наконец, когда вы удостоверились, что это именно тот файл выдает ошибку, то проделайте следующие шаги:
Запуск сценария PowerShell активирует эту кнопку настройки с помощью команды, но я рекомендую воспользоваться этим способом, если у вас не получилось все по порядку. Пропустите этот шаг «Запуск сценария PowerShell», если что потом вернетесь к нему.
Чтобы обойти эту ошибку, вам нужно отредактировать некоторые разрешения в разделе «Служба компонентов» ключа RuntimeBroker. Прежде чем перейти к модификации, вам нужно запустить скрипт, который поможет вам изменить разрешения. Дальше поймете зачем мы это делали.
1. Нажмите сочетание кнопок Win+X и выберите Windows PowerShell (администратор).
2. Загрузите файл с кодом ниже. Разархивируйте скаченный архив, в нем содержится текстовый файл с кодом.
3. Вставьте скаченный скрипт с файла в командную строку PowerShell.





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

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

Теперь у вас появились две группы система и local service, нажмите на каждую из них и поставьте галочки в пунктах «Локальный запуск» и «Локальная активация».
Перезагрузите компьютер, ноутбук и код события 10016 Ошибка DistributedCOM должен пропасть.
Источник
Ошибка 10016 windows securitycenter wscdataprotection

Доброго времени суток, уважаемые читатели, сегодня решаем ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID и APPID <9ca88ee3-acb7-47c8-afc4-ab702511c276>в Windows server 2012 R2.
Ошибка 10016 в windows 10 и Windows Server
На сервере Windows Server 2012 R2 постоянно возникает ошибка 10016.

Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID
и 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
Сначала нужно обновить Windows через центр обновления, и если не поможет, то делаем по очереди предложенные решения:
Как исправить ошибку 10016 через назначение прав в реестре
9. На вкладке Безопасность. В разделе Разрешения на запуск и активацию кнопка Изменить. Для группы СИСТЕМА разрешаем Локальный запуск и Локальная активация. ОК. Если вам runtimebroker не дает отредактировать настройки, то вам нужно дать права на него в реестре Windows

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

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

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

10. Перезагружаем сервер, проверяем логи, по сути ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID и APPID <9ca88ee3-acb7-47c8-afc4-ab702511c276>вы не должны больше увидеть.
Как исправить ошибку 10016 через удаление ключей из ветки OLe
Данный метод подразумевает удаление нескольких ключей реестра, которые отвечают за проверку прав на COM объекты. Нас будет интересовать ветка реестра:
Щелкаем по контейнеру Ole правым кликом и из контекстного меню выберите пункт Экспорт.

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

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

Исправление ошибки 10016 через PowerShell
Если вам не удалось изменить запуск службы для системы, то можно все поправить и избавиться от сообщений «APPID
<9ca88ee3-acb7-47c8-afc4-ab702511c276>
пользователю NT AUTHORITYСИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно)» с помощью скрипта PowerShell. Открываем ссылку с Microsoft
Скачиваем тут сценарий DCOMPermissions.psm1

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

Далее вы можете посмотреть примененные разрешения:
Вы увидите права у системы, у нее будет SID S-1-5-10.
Источник
Ошибка Windows.SecurityCenter.WscBrokerManager [Решение]
Если у вас после загрузки компьютера возникают ошибки с кодом 10016 с CLSID Windows.SecurityCenter.SecurityAppBroker и Windows.SecurityCenter.WscBrokerManager или Windows.SecurityCenter.WscDataProtection, решение есть.
Данные ошибки относятся к центру службы безопасности Windows, служба Windows SecurityCenter (wscsvc) по умолчанию запускается с задержкой автоматического запуска, а службы SecurityAppBroker и WscBrokerManager пытаются запустится в самом начале запуска системы, возникает ошибка 10016 запуска с оповещением в системном журнале. Что бы избавиться от данных ошибок, в реестре можно отключить отложенный авто запуск этой службы и активировать обычный автозапуск при старте системы:
1. Открываем редактор реестра Win+R
2. открываем ветку реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceswscsvc
3. В правой части находим DelayedAutoStart и меняем там значение с 1 на 0
4. Перезагружаем компьютер.
После этого данные ошибки в системном журнале должны пропасть.
Так же данные ошибки могут пропасть, если установить сторонний антивирус.
Проблема решилась таким способом, больше в журнале нет записей после перезагрузки.
Решение: Смотрим в журнале событие 10016. Закладка Подробности, там же режим XML. там будет 1B562E86-B7AA-4131-BADC-B6F3A001407E. В реестре находим папку EventLog-System. В ней находим 1B562E86-B7AA-4131-BADC-B6F3A001407E. Enabled и EnableProperty меняем значения на 0.
Источник
Ошибки с кодом события 10016 могут появляться в «Просмотре событий» на всех ПК с установленной Windows 10. Источником ошибок является расширение «Distributed COM» (DCOM), связывающее объекты на разных ПК.
Существуют различные способы исправления ошибок DCOM с идентификатором 10016, включающие работу с реестром или использование средств администрирования служб компонентов.

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

В некоторых случаях сообщения об ошибках могут начать появляться после установки определенных исправлений Windows.
Несмотря на то, что это не критическая системная ошибка, заполнение журнала ошибками 100016 может затруднить поиск и диагностику других ошибок на ПК.
В указанных случаях ошибки можно исправить либо предоставлением разрешения для компонентов DCOM, либо полным отключением регистрации ошибок Distributed COM.
Сделать копию реестра
Прежде чем выполнить шаги по устранению ошибок DCOM 10016, необходимо сделать копию системного реестра. Это позволит восстановить работу ОС в случае ее сбоев.
Также перед выполнением нижеследующих действий необходимо зайти в Windows с правами администратора.
Справка! Первый созданный в Windows 10 пользователь (напр., при инсталляции системы) имеет права администратора.
Шаг 1. Нажать клавиши «Win+R».

Шаг 2. Напечатать в меню «regedit» и щелкнуть «ОК».

Шаг 3. Откроется «Registry Editor» («Редактор реестра»). Нажать «File» («Файл») и щелкнуть «Export» («Экспорт»).

Шаг 4. В следующем окне отметить «All» («Все»).

Шаг 5. Выбрать папку для размещения копии реестра и ввести ее имя.

Шаг 6. Щелкнуть «Save» («Сохранить»).

Предоставление разрешений DCOM
Шаг 1. Нажать «Win+R», напечатать «regedit» и щелкнуть «ОК».

Шаг 2. Перейти в папку «Ole», раскрывая двойным левым кликом мышки древо реестра по следующему пути:




Шаг 3. Просмотреть содержимое папки справа и удалить 4 ключа (их может быть менее 4-х), имеющие метки:
Выделите название ключа правым кликом мышки, затем нажмите левым по опции «Удалить».

Справка! Удаление указанных ключей снова даст DCOM доступ в системе к разрешениям по умолчанию, а также даст разрешения приложениям, требующим доступ к серверу DCOM.
Шаг 4. Перезагрузить компьютер, и проверить журнал событий на наличие указанных ошибок.
Если в журнале все еще имеются ошибки DCOM 10016, перейти к следующему решению.
Предоставление разрешений определенным приложениям
В сообщениях об ошибках 10016 указывается, что приложение не получило разрешений на активацию COM-сервера, при этом выдаются идентификаторы CLSID, APPID, SID.
Шаг 1. Чтобы выяснить, какой процесс или служба связаны с указанным идентификатором, выделить его курсором мыши и скопировать в описании события. Например, идентификатор CLSID начинается с «
Для этого нужно перейти в журнал «Просмотр событий»:





Шаг 2. После выполнения копирования нажать «Win+R», напечатать «regedit» и щелкнуть «ОК».

Шаг 3. Нажать «Ctrl+F» и вставить в меню «Find» («Найти») скопированные данные нажатием «Ctrl+V». Нажать «Find Next» («Найти»).

Программа выдаст результат по ключу «HK_CLASSES_ROOTCLSID».
Справа в окне должно находится два ключа, при этом в значении «Default» («По умолчанию») указано имя требуемой службы (в примере – «RuntimeBroker»). «AppID» также должен соответствовать указанным данным в сообщении об ошибке.

Далее необходимо изменить разрешения в «Службах компонентов» для найденных процессов или служб.
Запуск скрипта PowerShell
Чтобы изменить разрешения в «Службах компонентов», необходимо активировать специальный скрипт, позволяющий вносить эти изменения.
Шаг 1. Нажать «Win+R», напечатать «powershell» и щелкнуть «ОК».

Шаг 2. Кликнуть здесь и скопировать код целиком, нажав кнопки «Ctrl+A» для выделения всего текста, затем кликнуть правой кнопкой мышки на выделенном и выбрать опцию «Копировать».


Шаг 3. Щелкнуть правой кнопкой мыши в окне PowerShell, чтобы вставить в него скопированную информацию. Команда запуститься автоматически, дождитесь завершения процесса до появления в окне сообщение «Done» («Выполнено»).


Внесение разрешений в «Службе компонентов»
Шаг 1. Нажать «Win+R», напечатать «dcomcnfg» и щелкнуть «ОК».

Шаг 2. Перейти, последовательно раскрывая двойными щелчками:




Шаг 3. Прокрутить список вниз до «Runtime Broker» (в примере их два). Чтобы узнать, какой из перечисленных процессов указан в ошибке, щелкнуть правой кнопкой мыши по каждому из них и выбрать «Properties» («Свойства»).

На вкладке «General» («Общие») будет указан идентификатор приложения, который должен совпадать с идентификатором из сообщения об ошибке.

Справка! Если в «Просмотре событий» имеются ошибки 10016 с более, чем одним CLSID, возможно, необходимо исправить оба «RuntimeBrokers».
Шаг 4. Находясь в окне свойств «RuntimeBroker», щелкнуть закладку «Security» («Безопасность»).

Кнопка «Edit» («Правка») в разрешениях «Launch and Activation Permissions» должна быть активной.
Примечание! Если «Edit» неактивна, скрипт PowerShell не сработал и его необходимо повторить.
Шаг 5. Нажать кнопку «Edit».

При нажатии «Edit» может появиться окно с предупреждением о нераспознанных разрешениях. Нажать «Cancel» («Отмена»).

Шаг 6. Появится список учетных записей по умолчанию, возможно с записью «Account Unknown» («Неизвестная учетная запись»), которую не следует удалять. Нажать «Add» («Добавить»).

Шаг 7. Ввести «System» («Система») и нажать «Check Names» («Проверить имена»). Нажать «OK» для добавления учетной записи в список.

Шаг 8. Нажать «Add» еще раз, и ввести «Local Service» («Местная служба») и нажать «Check Names» («Проверить имена»). Нажать «OK» для добавления учетной записи в список.
Шаг 9. Выбирая щелчком мыши «System» и «Local Service», проставить флажки «Local Launch» («Локальный запуск») и «Local Activation» («Локальная активация») в разделе «Allow» («Разрешить»). Нажать «OK».

Шаг 10. Перезагрузить ПК.
Больше указанная ошибка не должна появляться в журнале просмотра событий Windows.
Устранение ошибки 10016 при запуске «Центра обеспечения безопасности»
В журнале событий Windows 10 также могут появляться ошибки, имеющие CLSID:

Эти ошибки связаны с задержкой автоматического запуска службы «Центра обеспечения безопасности Windows» из-за попытки указанных процессов инициировать его запуск на слишком раннем этапе, что приводит к выдаче ошибок.
Указанные ошибки повторяются и после запуска указанной службы (wscsvc).
Для устранения ошибок необходимо изменить значение отложенного запуска wscsvc, чтобы служба быстрее запускалась в процессе ее загрузки. Однако изменить значение через приложение «Службы» невозможно, поскольку у пользователя нет на это прав.
Указанное действие можно выполнить только через реестр.
Шаг 1. Нажать «Win+R», напечатать «regedit» и нажать «ОК».

Шаг 2. Перейдите к разделу:





Шаг 3. В правой части посмотреть значение «DWORD» с именем «DelayedAutoStart» и дважды щелкните по нему.

Шаг 4. Изменить значение с 1 на 0 и нажать «OK».

Шаг 5. Закрыть редактор реестра и перезагрузить ПК.
Сообщения об ошибках DCOM 10016, связанные с Windows.SecurityCenter, больше не будут появляться в «Просмотре событий» системы.
Видео — Distributedcom 10016 Windows 10, как исправить?
Понравилась статья?
Сохраните, чтобы не потерять!
Источник
Обновлено 19.08.2021

Доброго времени суток, уважаемые читатели, сегодня решаем ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} в Windows server 2012 R2.
На сервере 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
Сначала нужно обновить Windows через центр обновления, и если не поможет, то делаем по очереди предложенные решения:
- Назначаем недостающие права на ветку с GUID номером {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} или другим, зависит от вашей ситуации с кодом ошибки 10016
- Удаление некоторых ключей реестра
- Использование скрипта PowerShell
Как исправить ошибку 10016 через назначение прав в реестре
- Сразу логинимся на проблемный сервер под администратором, чтобы не вводить всякий раз имя и пароль. Запускаем Regedit.
- Запускаем поиск (CTRL+F) и ищем второй из GUIDов в описании ошибки, т.е. APPID. В данном случае это «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}».

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

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

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

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

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

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

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

Открываем редактор реестра Windows. Переходим в ветку
HKEY_CLASSES_ROOTAppIDRuntimeBroker.exe
щелкаем по нему правым кликом и выбираем свойства.

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

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

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 правым кликом и из контекстного меню выберите пункт Экспорт.

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

Теперь, чтобы исправить ошибку 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 через 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

Кладем данный модуль в нужную вам папку. Далее вы открываете консоль 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.
Обновлено 19.08.2021

Доброго времени суток, уважаемые читатели, сегодня решаем ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} в Windows server 2012 R2.
На сервере 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
Сначала нужно обновить Windows через центр обновления, и если не поможет, то делаем по очереди предложенные решения:
- Назначаем недостающие права на ветку с GUID номером {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} или другим, зависит от вашей ситуации с кодом ошибки 10016
- Удаление некоторых ключей реестра
- Использование скрипта PowerShell
Как исправить ошибку 10016 через назначение прав в реестре
- Сразу логинимся на проблемный сервер под администратором, чтобы не вводить всякий раз имя и пароль. Запускаем Regedit.
- Запускаем поиск (CTRL+F) и ищем второй из GUIDов в описании ошибки, т.е. APPID. В данном случае это «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}».

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

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

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

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

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

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

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

Открываем редактор реестра Windows. Переходим в ветку
HKEY_CLASSES_ROOTAppIDRuntimeBroker.exe
щелкаем по нему правым кликом и выбираем свойства.

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

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

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 правым кликом и из контекстного меню выберите пункт Экспорт.

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

Теперь, чтобы исправить ошибку 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 через 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

Кладем данный модуль в нужную вам папку. Далее вы открываете консоль 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.
Ошибка DistributedCOM с кодом события 10016 в Windows 11/10 — одна из самых известных проблем с которой пользователи сталкиваются в системном журнале. Эта ошибка запускается, когда определенные процессы не содержат прав доступа к компонентам DCOM, которые упоминаются в журналах событий. Это ограничивает безупречную работу компьютера, что в конечном итоге раздражает пользователей. Система сразу же забивает «Просмотрщик событий» тысячами сообщений с показам событий.
В ходе расследования выясняется, что при попытке запустить сервер DCOM с помощью приложения у вас нет никаких прав на это, и вы получите приведенную ниже ошибку в средстве просмотра событий: «Параметры разрешений для конкретного приложения не дают разрешения Локальной Активации для приложения COM-сервера«.
Перед тем, как приступить к исправлению, создайте точку восстановления системы.
Исправление кода события 10016 Ошибки DistributedCOM
Это самый быстрый и простой способ, чтобы исправить ошибку DistributedCOM с кодом события 10016, но менее надежный.
Нажмите Win+R и введите regedit, чтобы запустить редактор реестра. В реестре перейдите по пути:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftOle
- Удалите следующие значения (некоторых может не быть): DefaultAccessPermission, DefaultLaunchPermission, MachineAccessRestriction, MachineLaunchRestriction.

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

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

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

- Введите в поле поиска свой CLSID ключ, который типа {D63B10C5… . Поставьте галочку искать только «имена разделов».
- Вам выдаст ключ в правой стороне, выделите его мышкой один раз.
- В правом поле у вас будет ключ «По умолчанию» со значением RuntimeBroker. Запомните это значение оно нам пригодится в дальнейшим.
Следующая задача — запустить сценарий, чтобы внести некоторые изменения в раздел разрешений, найденных в службах компонентов для этой службы.

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

Перейдите по следующему пути Службы компонентов > Компьютеры > Мой компьютер > Настройка DCOM > и найдите в списке RuntimeBroker.
В некоторых случаях может быть два файла с этим именем. Вам нужно выяснить, какой файл несет ответственность за ошибку, что ниже мы и сделаем.

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

Исправление разрешений
Наконец, когда вы удостоверились, что это именно тот файл выдает ошибку, то проделайте следующие шаги:
- Нажмите в свойствах RuntimeBroker вкладку «Безопасность«.
- Кнопка «настроить» должна быть активной.
- Проделайте ниже шаги чтобы активировать настройки. (Не Запуск сценария PowerShell).
Запуск сценария PowerShell активирует эту кнопку настройки с помощью команды, но я рекомендую воспользоваться этим способом, если у вас не получилось все по порядку. Пропустите этот шаг «Запуск сценария PowerShell», если что потом вернетесь к нему.
Запуск сценария PowerShell
Чтобы обойти эту ошибку, вам нужно отредактировать некоторые разрешения в разделе «Служба компонентов» ключа RuntimeBroker. Прежде чем перейти к модификации, вам нужно запустить скрипт, который поможет вам изменить разрешения. Дальше поймете зачем мы это делали.
1. Нажмите сочетание кнопок Win+X и выберите Windows PowerShell (администратор).
2. Загрузите файл с кодом ниже. Разархивируйте скаченный архив, в нем содержится текстовый файл с кодом.
3. Вставьте скаченный скрипт с файла в командную строку PowerShell.


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

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

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

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

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

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

Смотрите еще:
- DISM ошибка 87 в командной строке Windows
- Ошибка 0x8000ffff при восстановлении системы Windows 10
- Как исправить Ошибку 0xc1900101 0x20004 при установке Windows 10
- Как исправить ошибки обновлений Windows 10
- Как узнать IP-адрес компьютера с помощью PowerShell Windows
[ Telegram | Поддержать ]
Содержание
- Исправление ошибки 10016
- Шаг 1: Настройка разрешений в реестре
- Шаг 2: Настройка службы компонентов
- Заключение
- Вопросы и ответы

Ошибки, записи о которых хранятся в журнале Windows, говорят о проблемах в системе. Это могут быть как серьезные неполадки, так и те, что не требуют немедленного вмешательства. Сегодня мы поговорим о том, как избавиться от навязчивой строки в перечне событий с кодом 10016.
Данная ошибка относится к числу тех, что могут быть проигнорированы пользователем. Об этом говорит запись в базе знаний Microsoft. Вместе с тем, она может сообщать о том, что некоторые компоненты работают некорректно. Это касается серверных функций операционной системы, которые обеспечивают взаимодействие с локальной сетью, в том числе и с виртуальными машинами. Иногда мы можем наблюдать сбои и при удаленных сеансах. Если вы заметили, что запись появилась после возникновения подобных проблем, следует принять меры.
Еще одна причина появления ошибки – аварийное завершение работы системы. Это может быть отключение электроэнергии, сбой в программном или аппаратном обеспечении компьютера. В таком случае необходимо проверить, не появится ли событие при штатной работе, после чего уже приступать к решению, приведенному ниже.
Шаг 1: Настройка разрешений в реестре
Перед тем как приступать к редактированию реестра, создайте точку восстановления системы. Это действие поможет восстановить работоспособность при неудачном стечении обстоятельств.
Подробнее:
Как создать точку восстановления в Windows 10
Как откатить Windows 10 до точки восстановления
Еще один нюанс: все операции необходимо производить из учетной записи, имеющей права администратора.
- Внимательно смотрим на описание ошибки. Здесь нас интересуют два куска кода: «CLSID» и «AppID».

- Переходим к системному поиску (значок лупы на «Панели задач») и начинаем вводить «regedit». Когда в списке появится «Редактор реестра», нажимаем на него.

- Идем обратно в журнал и сначала выделяем и копируем значение AppID. Сделать это можно только с помощью комбинации CTRL+C.

- В редакторе выделяем корневую ветку «Компьютер».
Идем в меню «Правка» и выбираем функцию поиска.

- Вставляем в поле наш скопированный код, оставляем флажок только возле пункта «Имена разделов» и жмем «Найти далее».

- Кликаем ПКМ по найденному разделу и переходим к настройке разрешений.

- Здесь нажимаем кнопку «Дополнительно».

- В блоке «Владелец» идем по ссылке «Изменить».

- Снова жмем «Дополнительно».

- Переходим к поиску.

- В результатах выбираем «Администраторы» и ОК.

- В следующем окне также нажимаем ОК.

- Для подтверждения смены владельца кликаем «Применить» и ОК.

- Теперь в окне «Разрешения для группы» выбираем «Администраторов» и даем им полный доступ.

- Повторяем действия для CLSID, то есть ищем раздел, меняем владельца и предоставляем полный доступ.

Шаг 2: Настройка службы компонентов
Добраться до следующей оснастки также можно через системный поиск.
- Жмем на лупу и вводим слово «Службы». Здесь нас интересуют «Службы компонентов». Переходим.

- Раскрываем по очереди три верхних ветки.
Кликаем по папке «Настройка DCOM».

- Справа находим пункты с названием «RuntimeBroker».
Нам подходит только один из них. Проверить, какой именно, можно, перейдя в «Свойства».

Код приложения должен соответствовать коду AppID из описания ошибки (мы его искали первым в редакторе реестра).


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

- Далее по запросу системы удаляем нераспознаваемые записи разрешений.

- В открывшемся окне настроек жмем кнопку «Добавить».

- По аналогии с операцией в реестре, переходим к дополнительным опциям.

- Ищем «LOCAL SERVICE» и нажимаем ОК.
Еще раз ОК.

- Выбираем добавленного юзера и в нижнем блоке ставим флажки, как показано на скриншоте ниже.

- Таким же способом добавляем и настраиваем пользователя с именем «СИСТЕМА».

- В окне разрешений нажимаем ОК.

- В свойствах «RuntimeBroker» жмем «Применить» и ОК.

- Перезагружаем ПК.
Заключение
Таким образом, мы избавились от ошибки 10016 в журнале событий. Здесь стоит повториться: если она не вызывает проблем в работе системы, то лучше отказаться от описанной выше операции, так как необоснованное вмешательство в параметры безопасности может привести к более серьезным последствиям, устранить которые будет намного сложнее.
Еще статьи по данной теме:
Помогла ли Вам статья?
Далеко не все ошибки в Windows проявляют себя очевидным образом – аварийным завершением работы приложений, отказом базовых функций управления или появлением окон с тревожными уведомлениями. О том, что в системе случился тот или иной сбой, пользователь может даже не подозревать, если только он не имеет привычки регулярно просматривать Журнал событий. Такие скрытые ошибки, как правило, не являются критичными и в большинстве случаев указывают на некорректную работу компонентов. Примером может служить ошибка 10016 DistributedCOM в Windows 10, регулярно появляющаяся в Журнале событий обычно сразу после загрузки операционной системы.
Появление ошибки 10016 говорит о том, что системная служба DCOM не смогла запустить какое-то приложение по причине отсутствия у системы (пользователя SYSTEM) соответствующих прав. Какое это приложение, можно определить по его APPID-коду в описании. Однако это не столь важно, ведь для исправления неполадки достаточно знать именно APPID и CLSID COM-сервера, который также указан в описании неполадки. Сама же неисправность устраняется предоставлением системе полных прав на запуск приложения.
Перед тем как приступать к активным действиям, необходимо получить список ошибок в оснастке просмотра событий. Открыв ее командой eventvwr, разверните в левой колонке Журналы Windows – Система, справа нажмите «Фильтр текущего журнала» и отсортируйте записи по коду события 10016 и/или источнику.

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

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



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


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





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

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

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

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



Аналогичным образом добавьте с идентичными правами пользователя СИСТЕМА. Делается это по той же схеме, которая описана выше. Добавив указанных пользователей, последовательно сохраните все настройки и перезагрузите компьютер.
По идее, описанные выше действия должны помочь исправить ошибку 10016 в Windows 10, но, как показывает практика, в ряде случаев администратору не удается получить доступ к настройкам разрешений. Причины тому могут быть разными, а попытки их устранения нередко связаны с определенными рисками. Поэтому, если ошибка DistributedCOM не вызывает явных проблем, лучше проигнорировать ее, чтобы не навредить операционной системе и настройкам безопасности еще больше.
- Remove From My Forums
-
Question
-
This question is identical to the one on this linked page for Windows 8.1 Pro 32bit dated Wednesday, March 11, 2015 9:08 PM
https://social.technet.microsoft.com/Forums/en-US/8acb7ea3-71b0-4f4a-b78a-8d9c8d1ef4b4/distributedcom-id-10016?forum=WinPreview2014Setup
Why does this issue still exist 2 years later for Windows 10 Pro 64bit?
With the following details for Windows 10 Pro
Log Name: System
Source: Microsoft-Windows-DistributedCOM
Date: 5/30/2017 9:56:00 PM
Event ID: 10016
Task Category: None
Level: Error
Keywords: Classic
User: LOCAL SERVICE
Computer: Sanctuary2
Description:
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.
Event Xml:
<Event xmlns=»http://schemas.microsoft.com/win/2004/08/events/event»>
<System>
<Provider Name=»Microsoft-Windows-DistributedCOM» Guid=»{1B562E86-B7AA-4131-BADC-B6F3A001407E}» EventSourceName=»DCOM» />
<EventID Qualifiers=»0″>10016</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x8080000000000000</Keywords>
<TimeCreated SystemTime=»2017-05-31T01:56:00.903788600Z» />
<EventRecordID>2066</EventRecordID>
<Correlation />
<Execution ProcessID=»620″ ThreadID=»9288″ />
<Channel>System</Channel>
<Computer>Sanctuary2</Computer>
<Security UserID=»S-1-5-19″ />
</System>
<EventData>
<Data Name=»param1″>application-specific</Data>
<Data Name=»param2″>Local</Data>
<Data Name=»param3″>Activation</Data>
<Data Name=»param4″>{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}</Data>
<Data Name=»param5″>{4839DDB7-58C2-48F5-8283-E1D1807D0D7D}</Data>
<Data Name=»param6″>NT AUTHORITY</Data>
<Data Name=»param7″>LOCAL SERVICE</Data>
<Data Name=»param8″>S-1-5-19</Data>
<Data Name=»param9″>LocalHost (Using LRPC)</Data>
<Data Name=»param10″>Unavailable</Data>
<Data Name=»param11″>Unavailable</Data>
</EventData>
</Event>Using dcomcnfg, no entries exist there for either CLSID or APPID!
Using regedit CLSID & APPID point to ShellServiceHost, with additional parameter for APPID {4839DDB7-58C2-48F5-8283-E1D1807D0D7D} of ‘RunAs» as Interactive User
So, what is the purpose of this? And why would it still exist in a New Machine? I have 20 of them in the last 7 days. Could we for once get new hardware, with a new OS, and have «ZERO» errors built into the machine?
Is this related to
«Consider the lilies of the field, how they grow; they toil not, neither do they spin: yet
I say unto you, that even Solomon in all his glory was not arrayed like one of these. Be not therefore anxious, saying, What shall we do about this error?
What shall we think? How will we fix? For their creator Microsoft knoweth that ye have need of all these things»Say what?
Chip Cooper
- Edited by
Wednesday, May 31, 2017 3:20 AM
- Edited by
Answers
-
Hi
Cyberchipz,In reality this particular event is quite common and has from time to time been logged on most users computers running a Windows OS regardless of version they have.
Generally, Windows manages quite well and this error is nothing too much to concern oneself with, however, for those running a Server or Network Service this error if left unresolved
can become troublesome.Within the error message Microsoft informs the user we can manually adjust some settings to resolve issue and this would be fine but for a few issues that your average punter
would not know how to get around.http://www.itexperience.net/2017/01/13/event-id-10016-fix-the-application-specific-permission-settings-do-not-grant-local-activation-permission-for-the-com-server-application-with-clsid/
Please Note: Since the website is not hosted by Microsoft, the link may change without notice. Microsoft does not guarantee the accuracy of this information.
Hope it will be helpful to you
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact
tnmff@microsoft.com.- Proposed as answer by
Carl FanMicrosoft contingent staff
Tuesday, June 6, 2017 11:50 AM - Unproposed as answer by
Cyberchipz
Tuesday, June 6, 2017 3:53 PM - Marked as answer by
Cyberchipz
Wednesday, June 7, 2017 3:23 PM
- Proposed as answer by
В этой заметке я покажу, как исправить ошибку 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). Это разрешение безопасности можно изменить с помощью служебной программы управления службами компонентов.

В англоязычных версиях 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.

Судя по описанию ошибки: некий пользователь (например, 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).
В каждом конкретном случае идентификаторы класса, приложения, учетной записи и типа доступа может отличаться.
- Запустите редактор реестра (regedit.exe);
- Перейдите в ветку реестра, соответствующую вашему CLSID. У меня это HKEY_CLASSES_ROOTCLSID{000209FF-0000-0000-C000-000000000046};
В некоторых случаях нужно смотреть также в разделе реестра [HKEY_CLASSES_ROOTWow6432NodeCLSID. При удаленном подключении к реестру он будет находиться в разделе HKEY_LOCAL_MACHINESOFTWAREClassesAppID.
- В параметре класса должно быть указано имя. У меня это 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}
- Щелкните правой кнопкой мыши по разделу реестра и выберите пункт Permissions (Разрешения);

- Нажмите на кнопку Advanced;

- В разделе Owner (Владелец) будет указано NT ServiceTrustedInstaller или System;

- Нажмите кнопку Change и укажите имя своей учетной записи администратора. Сохраните изменения;

- Обратите внимание, что имя владельца ветки сменилось на вашу учетную запись. Поставьте галку Replace owner on subcontainers and objects (Заменить владельца подконтейнеров и объектов) и нажмите “ОК”;

- В списке разрешений добавьте вашу учетную запись администратора и предоставьте ей полный доступ (Full Permissions);

- Вы предоставили права на ветку с CLSID. Теперь нужно повторить предыдущие шаги, предоставив учетной записи администратора права на ветку с вашим идентификатором APPID из текста ошибки (например, HKEY_CLASSES_ROOTAppID{AD65A69D-3831-40D7-9629-9B0B50A93843};
- Теперь запустите консоль управления компонентами dcomcnfg с правами администратора (Control PanelAll Control Panel ItemsAdministrative ToolsComponent Services);

- В консоли компонентов перейдите в ветку Component Services -> Computers -> My computer -> DCOM Config. В списке компонентов найдите имя компонента, которое вы определили на втором шаге (значение в столбце Application ID должно соответствовать вашему CLSID из ошибки). Откройте свойства компонента;
Если вы не можете найти свой компонент в списке, вероятно у вас 64 битная версия Windows, а запускаемый компонент является 32 битным. В этом случае нужно запустить консоль DCOM командой:
mmc comexp.msc /32 - Перейдите на вкладку Security. Все элементы управления должны быть доступными для изменения;
Если открыть консоль dcomcnfg до изменения разрешений на ветку реестра, все настройки на вкладке Security окажутся заблокированы (недоступны для изменения), несмотря на то, что вы запустили консоль от имени администратора.

- В моем случае приложению не хватало прав на «Локальный Запуск» (Local Activation Permission). В секции Launch and Activation Permissions выберите Customize и нажмите кнопку Edit;
- В список доступа нужно добавить учетную запись, которой не хватало разрешений на запуск. Имя учетной записи было указано в тексте ошибки: в зависимости от текста в ошибке DCOM 10016 это может быть System, конкретный пользователь или учетка под которой запускается пул IIS (в этом случае нужно добавить доступ для локальной группы IIS_IUSR).
Совет. Если в начальном логе ошибки вместо NT AUTHORITYсистема была указана NT AUTHORITYNETWORK SERVICE, необходимо дать права на локальный запуск и активацию для учетной записи NetworkService.
- Предоставьте нужные разрешения для учетной записи. Например, Local Activation -> Allow и Local Launch (Локальная активация) -> Allow;

- Перезагрузите компьютер и проверьте журналы событий. Ошибка DCOM 10016 должна исчезнуть.
Ошибка 10016 под именем «DistributedCOM error» — частая проблема на операционной системе Windows 10. Протокол DCOM – расширение, поддерживающее связь между несколькими объектами по сети.
Ошибка часто возникает при каждом запуске операционной системы. Часто из-за нее вылетают игры. В «Журнале событий» пользователь видит десятки сообщений об этой ошибке.
В этой статье мы разберемся, как избавиться от ошибки 10016 стандартными средствами «десятки».
Содержание
- Исправление ошибки DistributedCOM
- Журнал событий
- Редактор реестра
- Службы компонентов
- Подводим итоги
Проблема указывает на то, что какое-то приложение блокирует подключение к COM-серверу. Для устранения ошибки будем использовать журнал событий и редактор реестра.
Рекомендуем перед описанными ниже действиями сделать как минимум резервную копию реестра, а лучше – создать точку восстановления. В этой статье вы сможете прочитать инструкцию, как сделать возврат к точке восстановления. Эти шаги необходимы, если что-то пойдет не так в дальнейших операциях.
Журнал событий
Откроем журнал событий и найдем в нем нашу ошибку. Приложение называется «Просмотр событий». Вводи название в поиск – и открываем найденную утилиту.

Здесь нас интересует код события, заключенный в фигурные скобки. Он нам понадобится для следующего шага. Скопируйте его (комбинация клавиш Ctrl+C).

Подробнее о комбинации горячих клавиш в Windows 10 вы можете прочитать подробный обзор.
Редактор реестра
Заходим в редактор реестра (как это сделать – читайте здесь). В редакторе нажимаем клавиши Ctrl+F и вводим код, скопированный в журнале событий. Кликаем «Найти далее». В левой части редактора найдется раздел реестра под именем введенного кода. Нажимаем на раздел правой кнопкой мышки и выбираем пункт «Разрешения».

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

Нам нужно изменить владельца. Кликаем на активную ссылку «Изменить».

Выбираем меню «Дополнительно» и в новом окне кликаем на «Поиск».

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

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

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

Далее находим в поиске «Службы компонентов» и запускаем редактор от имени администратора.

Переходим по пути, указанному на скриншоте.

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

Подводим итоги
Ошибка 10016 DistributedCOM error исправляется на Windows 10 штатными средствами ОС, но очень неудобно, процесс занимает достаточно времени.
В принципе, если ошибка не доставляет пользователю никаких неудобств, кроме сообщений в журнале событий, ее можно не исправлять. Если же вылетают игры, наблюдается сбой в приложениях – рекомендуется воспользоваться инструкцией выше.
Еще много полезного об ошибках на Windows 10:
Ошибка ntdll.dll.
Ошибка регистрации comcntr.dll.
CLR20r3 ошибка при запуске программы.
Ошибка bootmgr is missing на Windows 10.
Ошибка 0x8007042c при обновлении Windows 10.
Ошибки с кодом события 10016 могут появляться в «Просмотре событий» на всех ПК с установленной Windows 10. Источником ошибок является расширение «Distributed COM» (DCOM), связывающее объекты на разных ПК.
Существуют различные способы исправления ошибок DCOM с идентификатором 10016, включающие работу с реестром или использование средств администрирования служб компонентов.

Distributedcom 10016 Windows 10, как исправить?
Содержание
- Что означают ошибки DCOM 10016 в Windows 10
- Сделать копию реестра
- Предоставление разрешений DCOM
- Предоставление разрешений определенным приложениям
- Запуск скрипта PowerShell
- Внесение разрешений в «Службе компонентов»
- Устранение ошибки 10016 при запуске «Центра обеспечения безопасности»
- Видео — Distributedcom 10016 Windows 10, как исправить?
Что означают ошибки DCOM 10016 в Windows 10
События с идентификатором 10016 записываются в журнал событий, когда компоненты Microsoft обращаются за доступом к компонентам DCOM без требуемых в этом случае разрешений.
Компанией Microsoft создан сценарий работы, при котором системный код обращается за доступом к компонентам DCOM с предпочтительным набором параметров, и если доступ не предоставлен, код обращается снова с другим набором.
Служба поддержки Microsoft сообщает, что указанные ошибки заложены в работу ОС, происходят на всех ОС Windows 10 и могут быть проигнорированы пользователями без последствий для работы системы.

Ошибки с кодом 10016 записываются в журнал событий, когда компоненты Microsoft обращаются за доступом к компонентам DCOM
В некоторых случаях сообщения об ошибках могут начать появляться после установки определенных исправлений Windows.
Несмотря на то, что это не критическая системная ошибка, заполнение журнала ошибками 100016 может затруднить поиск и диагностику других ошибок на ПК.
В указанных случаях ошибки можно исправить либо предоставлением разрешения для компонентов DCOM, либо полным отключением регистрации ошибок Distributed COM.
Сделать копию реестра
Прежде чем выполнить шаги по устранению ошибок DCOM 10016, необходимо сделать копию системного реестра. Это позволит восстановить работу ОС в случае ее сбоев.
Также перед выполнением нижеследующих действий необходимо зайти в Windows с правами администратора.
Справка! Первый созданный в Windows 10 пользователь (напр., при инсталляции системы) имеет права администратора.
Шаг 1. Нажать клавиши «Win+R».

Нажимаем клавиши «Win+R»
Шаг 2. Напечатать в меню «regedit» и щелкнуть «ОК».

Печатаем в меню «regedit» и щелкаем «ОК»
Шаг 3. Откроется «Registry Editor» («Редактор реестра»). Нажать «File» («Файл») и щелкнуть «Export» («Экспорт»).

Нажимаем «File», щелкаем «Export»
Шаг 4. В следующем окне отметить «All» («Все»).

Отмечаем «All»
Шаг 5. Выбрать папку для размещения копии реестра и ввести ее имя.

Выбираем папку для размещения копии реестра и вводим ее имя
Шаг 6. Щелкнуть «Save» («Сохранить»).

Щелкаем «Save»
Предоставление разрешений DCOM
Шаг 1. Нажать «Win+R», напечатать «regedit» и щелкнуть «ОК».

Печатаем в меню «regedit» и щелкаем «ОК»
Шаг 2. Перейти в папку «Ole», раскрывая двойным левым кликом мышки древо реестра по следующему пути:
- директория «HKEY_LOCAL_MACHINE»;

Раскрываем двойным левым кликом мышки директорию «HKEY_LOCAL_MACHINE»
- далее папку «SOFTWARE»;

Раскрываем папку «SOFTWARE»
- затем папку «Microsoft»;

Кликаем дважды по папке «Microsoft»
- найти и выделить левым щелчком мышки папку «Ole».

Находим и выделяем левым щелчком мышки папку «Ole»
Шаг 3. Просмотреть содержимое папки справа и удалить 4 ключа (их может быть менее 4-х), имеющие метки:
- «DefaultAccessPermission»;
- «DefaultLaunchPermission»;
- «MachineAccessRestriction»;
- «MachineLaunchRestriction».
Выделите название ключа правым кликом мышки, затем нажмите левым по опции «Удалить».

Выделяем название ключа правым кликом мышки, затем нажимаем левым по опции «Удалить»
Справка! Удаление указанных ключей снова даст DCOM доступ в системе к разрешениям по умолчанию, а также даст разрешения приложениям, требующим доступ к серверу DCOM.
Шаг 4. Перезагрузить компьютер, и проверить журнал событий на наличие указанных ошибок.
Если в журнале все еще имеются ошибки DCOM 10016, перейти к следующему решению.
Предоставление разрешений определенным приложениям
В сообщениях об ошибках 10016 указывается, что приложение не получило разрешений на активацию COM-сервера, при этом выдаются идентификаторы CLSID, APPID, SID.
Шаг 1. Чтобы выяснить, какой процесс или служба связаны с указанным идентификатором, выделить его курсором мыши и скопировать в описании события. Например, идентификатор CLSID начинается с «{D63B10C5…».
Для этого нужно перейти в журнал «Просмотр событий»:
- нажать по значку «Компьютер» правой кнопкой мышки, левой по строке «Управление»;

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

Щелкаем по названию раздела «Просмотр событий»
- в блоке «Тип события» кликнуть по значку «+» рядом с названием «Ошибка»;

В блоке «Тип события» кликаем по значку «+» рядом с названием «Ошибка»
- найти строку с ошибкой 10016 и нажать по ней двойным кликом мышки;

Находим строку с ошибкой 10016 и нажимаем по ней двойным кликом мышки
- в нижней части окна, во вкладке «Общие» скопировать цифро-буквенные данные, идущие за CLSID вместе с открывающей и закрывающей фигурной скобкой.

Во вкладке «Общие» копируем цифро-буквенные данные, идущие за CLSID вместе со скобками
Шаг 2. После выполнения копирования нажать «Win+R», напечатать «regedit» и щелкнуть «ОК».

Печатаем в меню «regedit» и щелкаем «ОК»
Шаг 3. Нажать «Ctrl+F» и вставить в меню «Find» («Найти») скопированные данные нажатием «Ctrl+V». Нажать «Find Next» («Найти»).

Вставляем в меню «Find» скопированные данные нажатием «Ctrl+V», нажимаем «Find Next»
Программа выдаст результат по ключу «HK_CLASSES_ROOTCLSID».
Справа в окне должно находится два ключа, при этом в значении «Default» («По умолчанию») указано имя требуемой службы (в примере – «RuntimeBroker»). «AppID» также должен соответствовать указанным данным в сообщении об ошибке.

Переписываем или копируем имя службы
Далее необходимо изменить разрешения в «Службах компонентов» для найденных процессов или служб.
Запуск скрипта PowerShell
Чтобы изменить разрешения в «Службах компонентов», необходимо активировать специальный скрипт, позволяющий вносить эти изменения.
Шаг 1. Нажать «Win+R», напечатать «powershell» и щелкнуть «ОК».

Печатаем «powershell» и щелкаем «ОК»
Шаг 2. Кликнуть здесь и скопировать код целиком, нажав кнопки «Ctrl+A» для выделения всего текста, затем кликнуть правой кнопкой мышки на выделенном и выбрать опцию «Копировать».

Нажимаем кнопки «Ctrl+A» для выделения всего текста

Кликаем правой кнопкой мышки на выделенном и выбираем опцию «Копировать»
Шаг 3. Щелкнуть правой кнопкой мыши в окне PowerShell, чтобы вставить в него скопированную информацию. Команда запуститься автоматически, дождитесь завершения процесса до появления в окне сообщение «Done» («Выполнено»).

Щелкаем правой кнопкой мышки в окне PowerShell, чтобы вставить скопированный скрипт

Ожидаем завершения запущенного процесса пока не появится сообщение «Done» («Выполнено»)
Внесение разрешений в «Службе компонентов»
Шаг 1. Нажать «Win+R», напечатать «dcomcnfg» и щелкнуть «ОК».

Печатаем «dcomcnfg», щелкаем «ОК»
Шаг 2. Перейти, последовательно раскрывая двойными щелчками:
- «Component Services» («Службы компонентов»);

Раскрываем двойным щелчком службу «Component Services»
- «Computers» («Компьютеры»);

Раскрываем службу «Computers»
- «My Computer» («Мой компьютер»);

Раскрываем службу «My Computer»
- «DCOM Config» («Настройка DCOM»).

Раскрываем двойным щелчком службу «DCOM Config»
Шаг 3. Прокрутить список вниз до «Runtime Broker» (в примере их два). Чтобы узнать, какой из перечисленных процессов указан в ошибке, щелкнуть правой кнопкой мыши по каждому из них и выбрать «Properties» («Свойства»).

Щелкаем правой кнопкой мыши по «Runtime Broker» и выбираем «Свойства»
На вкладке «General» («Общие») будет указан идентификатор приложения, который должен совпадать с идентификатором из сообщения об ошибке.

На вкладке «General» сравниваем идентификатор приложения с идентификатором из сообщения об ошибке
Справка! Если в «Просмотре событий» имеются ошибки 10016 с более, чем одним CLSID, возможно, необходимо исправить оба «RuntimeBrokers».
Шаг 4. Находясь в окне свойств «RuntimeBroker», щелкнуть закладку «Security» («Безопасность»).

Щелкаем закладку «Security»
Кнопка «Edit» («Правка») в разрешениях «Launch and Activation Permissions» должна быть активной.
Примечание! Если «Edit» неактивна, скрипт PowerShell не сработал и его необходимо повторить.
Шаг 5. Нажать кнопку «Edit».

Нажимаем кнопку «Edit»
При нажатии «Edit» может появиться окно с предупреждением о нераспознанных разрешениях. Нажать «Cancel» («Отмена»).

Нажимаем «Cancel»
Шаг 6. Появится список учетных записей по умолчанию, возможно с записью «Account Unknown» («Неизвестная учетная запись»), которую не следует удалять. Нажать «Add» («Добавить»).

Нажимаем «Add»
Шаг 7. Ввести «System» («Система») и нажать «Check Names» («Проверить имена»). Нажать «OK» для добавления учетной записи в список.

Вводим «System» и нажимаем «Check Names»
Шаг 8. Нажать «Add» еще раз, и ввести «Local Service» («Местная служба») и нажать «Check Names» («Проверить имена»). Нажать «OK» для добавления учетной записи в список.
Шаг 9. Выбирая щелчком мыши «System» и «Local Service», проставить флажки «Local Launch» («Локальный запуск») и «Local Activation» («Локальная активация») в разделе «Allow» («Разрешить»). Нажать «OK».

Выбираем щелчком мыши «System», отмечаем флажками «Local Launch» и «Local Activation» в разделе «Allow», нажимаем «OK»
Шаг 10. Перезагрузить ПК.
Больше указанная ошибка не должна появляться в журнале просмотра событий Windows.
Устранение ошибки 10016 при запуске «Центра обеспечения безопасности»
В журнале событий Windows 10 также могут появляться ошибки, имеющие CLSID:
- Windows.SecurityCenter.WscDataProtection;
- Windows.SecurityCenter.WscBrokerManager;
- Windows.SecurityCenter.WscCloudBackupProvidor.

В журнале событий Windows 10 можно увидеть ошибки, имеющие только буквенный CLSID
Эти ошибки связаны с задержкой автоматического запуска службы «Центра обеспечения безопасности Windows» из-за попытки указанных процессов инициировать его запуск на слишком раннем этапе, что приводит к выдаче ошибок.
Указанные ошибки повторяются и после запуска указанной службы (wscsvc).
Для устранения ошибок необходимо изменить значение отложенного запуска wscsvc, чтобы служба быстрее запускалась в процессе ее загрузки. Однако изменить значение через приложение «Службы» невозможно, поскольку у пользователя нет на это прав.
Указанное действие можно выполнить только через реестр.
Шаг 1. Нажать «Win+R», напечатать «regedit» и нажать «ОК».

Печатаем в меню «regedit» и щелкаем «ОК»
Шаг 2. Перейдите к разделу:
- «HKEY_LOCAL_MACHINE»;

Раскрываем двойным левым кликом мышки директорию «HKEY_LOCAL_MACHINE»
- «SYSTEM»;

Раскрываем папку «SYSTEM»
- «CurrentControlSet»;

Раскрываем «CurrentControlSet»
- «Services»;

Открываем папку «Services»
- «wscsvc».

Находим папку «wscsvc», выделяем ее левым кликом мышки
Шаг 3. В правой части посмотреть значение «DWORD» с именем «DelayedAutoStart» и дважды щелкните по нему.

Находим параметр со значением «DWORD» с именем «DelayedAutoStart» и дважды щелкаем по нему
Шаг 4. Изменить значение с 1 на 0 и нажать «OK».

Меняем значение с 1 на 0 и нажимаем «OK»
Шаг 5. Закрыть редактор реестра и перезагрузить ПК.
Сообщения об ошибках DCOM 10016, связанные с Windows.SecurityCenter, больше не будут появляться в «Просмотре событий» системы.
Видео — Distributedcom 10016 Windows 10, как исправить?
В этой заметке я покажу, как исправить ошибку 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). Это разрешение безопасности можно изменить с помощью служебной программы управления службами компонентов.

В англоязычных версиях 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.

Судя по описанию ошибки: некий пользователь (например, 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).
В каждом конкретном случае идентификаторы класса, приложения, учетной записи и типа доступа может отличаться.
- Запустите редактор реестра (regedit.exe);
- Перейдите в ветку реестра, соответствующую вашему CLSID. У меня это HKEY_CLASSES_ROOTCLSID{000209FF-0000-0000-C000-000000000046};
В некоторых случаях нужно смотреть также в разделе реестра [HKEY_CLASSES_ROOTWow6432NodeCLSID. При удаленном подключении к реестру он будет находиться в разделе HKEY_LOCAL_MACHINESOFTWAREClassesAppID.
- В параметре класса должно быть указано имя. У меня это 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}
- Щелкните правой кнопкой мыши по разделу реестра и выберите пункт Permissions (Разрешения);

- Нажмите на кнопку Advanced;

- В разделе Owner (Владелец) будет указано NT ServiceTrustedInstaller или System;

- Нажмите кнопку Change и укажите имя своей учетной записи администратора. Сохраните изменения;

- Обратите внимание, что имя владельца ветки сменилось на вашу учетную запись. Поставьте галку Replace owner on subcontainers and objects (Заменить владельца подконтейнеров и объектов) и нажмите “ОК”;

- В списке разрешений добавьте вашу учетную запись администратора и предоставьте ей полный доступ (Full Permissions);

- Вы предоставили права на ветку с CLSID. Теперь нужно повторить предыдущие шаги, предоставив учетной записи администратора права на ветку с вашим идентификатором APPID из текста ошибки (например, HKEY_CLASSES_ROOTAppID{AD65A69D-3831-40D7-9629-9B0B50A93843};
- Теперь запустите консоль управления компонентами dcomcnfg с правами администратора (Control PanelAll Control Panel ItemsAdministrative ToolsComponent Services);

- В консоли компонентов перейдите в ветку Component Services -> Computers -> My computer -> DCOM Config. В списке компонентов найдите имя компонента, которое вы определили на втором шаге (значение в столбце Application ID должно соответствовать вашему CLSID из ошибки). Откройте свойства компонента;
Если вы не можете найти свой компонент в списке, вероятно у вас 64 битная версия Windows, а запускаемый компонент является 32 битным. В этом случае нужно запустить консоль DCOM командой:
mmc comexp.msc /32 - Перейдите на вкладку Security. Все элементы управления должны быть доступными для изменения;
Если открыть консоль dcomcnfg до изменения разрешений на ветку реестра, все настройки на вкладке Security окажутся заблокированы (недоступны для изменения), несмотря на то, что вы запустили консоль от имени администратора.

- В моем случае приложению не хватало прав на «Локальный Запуск» (Local Activation Permission). В секции Launch and Activation Permissions выберите Customize и нажмите кнопку Edit;
- В список доступа нужно добавить учетную запись, которой не хватало разрешений на запуск. Имя учетной записи было указано в тексте ошибки: в зависимости от текста в ошибке DCOM 10016 это может быть System, конкретный пользователь или учетка под которой запускается пул IIS (в этом случае нужно добавить доступ для локальной группы IIS_IUSR).
Совет. Если в начальном логе ошибки вместо NT AUTHORITYсистема была указана NT AUTHORITYNETWORK SERVICE, необходимо дать права на локальный запуск и активацию для учетной записи NetworkService.
- Предоставьте нужные разрешения для учетной записи. Например, Local Activation -> Allow и Local Launch (Локальная активация) -> Allow;

- Перезагрузите компьютер и проверьте журналы событий. Ошибка DCOM 10016 должна исчезнуть.
- 0поделились
- 0Facebook
- 0Twitter
- 0VKontakte
- 0Odnoklassniki
Далеко не все ошибки в Windows проявляют себя очевидным образом – аварийным завершением работы приложений, отказом базовых функций управления или появлением окон с тревожными уведомлениями. О том, что в системе случился тот или иной сбой, пользователь может даже не подозревать, если только он не имеет привычки регулярно просматривать Журнал событий. Такие скрытые ошибки, как правило, не являются критичными и в большинстве случаев указывают на некорректную работу компонентов. Примером может служить ошибка 10016 DistributedCOM в Windows 10, регулярно появляющаяся в Журнале событий обычно сразу после загрузки операционной системы.
Появление ошибки 10016 говорит о том, что системная служба DCOM не смогла запустить какое-то приложение по причине отсутствия у системы (пользователя SYSTEM) соответствующих прав. Какое это приложение, можно определить по его APPID-коду в описании. Однако это не столь важно, ведь для исправления неполадки достаточно знать именно APPID и CLSID COM-сервера, который также указан в описании неполадки. Сама же неисправность устраняется предоставлением системе полных прав на запуск приложения.
События с идентификатором 10016 записываются в журнал событий, когда компоненты Microsoft обращаются за доступом к компонентам DCOM без требуемых в этом случае разрешений.
Компанией Microsoft создан сценарий работы, при котором системный код обращается за доступом к компонентам DCOM с предпочтительным набором параметров, и если доступ не предоставлен, код обращается снова с другим набором.
Служба поддержки Microsoft сообщает, что указанные ошибки заложены в работу ОС, происходят на всех ОС Windows 10 и могут быть проигнорированы пользователями без последствий для работы системы.

В некоторых случаях сообщения об ошибках могут начать появляться после установки определенных исправлений Windows.
Несмотря на то, что это не критическая системная ошибка, заполнение журнала ошибками 100016 может затруднить поиск и диагностику других ошибок на ПК.
В указанных случаях ошибки можно исправить либо предоставлением разрешения для компонентов DCOM, либо полным отключением регистрации ошибок Distributed COM.
Как справиться с ошибкой с кодом 10016 — отсутствии разрешений на запуск для приложений COM-сервера
Далеко не все случающиеся в 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 компонент и идентификатор приложения.

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

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

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

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

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

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

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

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

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

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

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

В принципе, эти действия должны устранить ошибку, если только её появление было связано с отсутствием необходимых прав доступа, однако стопроцентной гарантии, что всё будет именно так дать нельзя.
Сделать копию реестра
Прежде чем выполнить шаги по устранению ошибок DCOM 10016, необходимо сделать копию системного реестра. Это позволит восстановить работу ОС в случае ее сбоев.
Также перед выполнением нижеследующих действий необходимо зайти в Windows с правами администратора.
Справка! Первый созданный в Windows 10 пользователь (напр., при инсталляции системы) имеет права администратора.
Шаг 1. Нажать клавиши «Win+R».

Шаг 2. Напечатать в меню «regedit» и щелкнуть «ОК».

Шаг 3. Откроется «Registry Editor» («Редактор реестра»). Нажать «File» («Файл») и щелкнуть «Export» («Экспорт»).

Шаг 4. В следующем окне о («Все»).

Шаг 5. Выбрать папку для размещения копии реестра и ввести ее имя.

Шаг 6. Щелкнуть «Save» («Сохранить»).

Исправление ошибки 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

Кладем данный модуль в нужную вам папку. Далее вы открываете консоль 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.
Признаки возникновения ошибки
Понять, что на компьютере произошла именно ошибка 6008 можно по характерным признакам. С основными из них вы можете ознакомиться ниже:
- Во время работы с какой-либо программой появляется окно «Ошибка 6008», а само приложение сразу же закрывается.
- Компьютер самостоятельно завершает работу при открытии программы или после появления окна с ошибкой.
- Операционная система работает очень медленно, а нажатия по кнопкам мыши или клавиатуры отображаются с задержкой.
- ПК периодически перестает реагировать на все действия, выполняемые пользователем – попросту «зависает».
Если вы столкнулись с подобными признаками, то это весомый повод попробовать избавиться от ошибки.
Устранение неполадок в WMI
Любой бывалый Windows-админ не раз сталкивался с проблемами в работе службы WMI и ее компонентах.
Наличие проблем в подсистеме WMI является критичным с точки зрения нормального функционирования системы, поэтому администратору приходится прибегать к тем или иным трюкам, позволяющим восстановить работоспособность WMI. В этой статье мы опишем достаточно простую методику диагностирования и устранения неполадок в службе WMI.
О наличии проблем с WMI может свидетельствовать широкий спектр ошибок:
- Ошибки обработки WMI запросов в системных журналах и логах приложений
- Ошибки GPO, завязанные на WMI ( некорректная работа wmi фильтров политик, и пр.)
- Ошибки в работе / невозможность установки агентов SCCM/SCOM
- Ошибки в работе скриптов (vbs или powershell), использующих пространство имен WMI
В первую очередь нужно проверить имеется ли в системе служба Windows Management Instrumentation (Winmgmt) и включена ли она.
Если служба присутствует и находится в состоянии Started, рекомендуется протестировать работоспособность WMI, обратившись к ней с помощью простого wmi-запроса. С помощью Powershell, например, это можно сделать так:
get-wmiobject Win32_OperatingSystem
Если при выполнении простейшего WMI-запроса система возвращает ошибку (на скриншоте приведен пример корректного ответа службы WMI), вероятно имеет место некорректное функционирование сервиса WMI или ряда его подсистем, повреждение репозитория WMI или другие проблемы.
Утилита WMIDiag
Для «тонкой» диагностики службы WMI существует официальная утилита Microsoft — WMIDiag (Microsoft WMI Diagnosis).
Утилита представляет собой vbs скрипт, который проверяет различные подсистемы WMI и записывает собранную информацию в лог файлы (по умолчанию логи находятся в каталоге %TEMP% — C:USERS%USERNAME%APPDATALOCALTEMP).
Получившийся отчет состоит из файлов, имена которых начинаются с WMIDIAG-V2.1 и включает в себя следующие типы фалов :
- .log файлы содержат подробный отчет об активности и работе утилиты WMIDiag
- .txt файлы содержат итоговые отчеты о найденных ошибках, на которые стоит обратить внимание
- В .csv файлах содержится информация, нужная для долгосрочного анализа работы подсистемы WMI
После окончания работы утилиты WMIDiag администратор должен изучить полученные файлы логов, проанализировать и попытаться исправить найденные ошибки.
В общем случае, WMIDiag может дать информацию по исправлению частных ошибок в WMI , но в большинстве случаев процесс это довольно трудоемкий и стоит потраченного времени только при решении инцидентов в критичных системах (как правило, на продуктивных серверах). Для массового сегмента рабочих станций пользователей гораздо проще «бить по площадям» и решать проблему работы WMI более радикально.
Перерегистрация библиотек WMI и перекомпиляция mof файлов
Следующий скрипт представляет собой «мягкий» вариант восстановления работоспособности службы WMI на отдельно взятом компьютере (выполняется перерегистрация dll библиотек и службы WMI, перекомпилируются mof файлы). Данная процедура является безопасной и ее выполнение не должно привести к каким-либо новым проблемам с системой.
sc config winmgmt start= disabled net stop winmgmt cd %windir%system32wbem for /f %%s in (‘dir /b *.dll’) do regsvr32 /s %%s wmiprvse /regserver winmgmt /regserver sc config winmgmt start= auto net start winmgmt for /f %%s in (‘dir /b *.mof’) do mofcomp %%s for /f %%s in (‘dir /b *.mfl’) do mofcomp %%s
Указанные команды можно выполнить путем простой вставки в окно командой строки, либо сохранить код в bat файле и запустить его с правами администратора. После окончания работы скрипта, систему нужно перезагрузить и вновь проверить работу WMI.
Пересоздание репозитория (хранилища) WMI
В том случае, если предыдущий способ не помог, придется перейти к более «жесткому» способу восстановления работоспособности службы WMI, заключающегося в пересоздании хранилища.
WMI репозиторий (хранилище) находится в каталоге %windir%System32WbemRepository и представляет собой базу данных, в которой содержится информация о метаданных и определениях WMI классов.
В некоторых случаях репозитория WMI может содержать статическую информацию классов.
При повреждении репозитория WMI, в работе службы Windows Management Instrumentation (Winmgmt) могут наблюдаться ошибки вплоть до полной невозможности ее запустить.
В том случае, если вы подозреваете, что репозиторий WMI поврежден, имейте в виду, что его пересоздание это последняя вещь, к которой нужно прибегнуть только в том случае, если никакие другие операции реанимировать WMI не помогают.
В Windows Vista и выше проверить целостность репозитория WMI можно с помощью команды:
winmgmt /verifyrepository
Если команда возвращает, что база данных WMI находится в неконсистентном состоянии (INCONSISTENT), стоит попробовать выполнить «мягкое» восстановление репозитория:
Winmgmt /salvagerepository
И перезапустить службу wmi:
net stop Winmgmtnet start Winmgmt
Если описанная выше команда не помогла, выполняем сброс репозитория на начальное состояние (hard reset) так:
Winmgmt /resetrepository
В том случае, если команды Winmgmt /salvagerepository и Winmgmt /resetrepository желаемого эффекта не дали, стоит попробовать выполнить «жесткое» пересоздание базы WMI вручную таким сценарием:
sc config winmgmt start= disabled net stop winmgmt cd %windir%system32wbem winmgmt /kill winmgmt /unregserver winmgmt /regserver winmgmt /resyncperf if exist Repos_bakup rd Repos_bakup /s /q rename Repository Repos_bakup regsvr32 /s %systemroot%system32scecli.dll regsvr32 /s %systemroot%system32userenv.dll for /f %%s in (‘dir /b *.dll’) do regsvr32 /s %%s for /f %%s in (‘dir /b *.mof’) do mofcomp %%s for /f %%s in (‘dir /b *.mfl’) do mofcomp %%s sc config winmgmt start= auto net start winmgmt wmiprvse /regserver
Что такое DistributedCOM
В первую очередь необходимо разобраться, что такое DistributedCOM, и почему этот объект вызывает ошибку. DistributedCOM — это Distributed Component Object Model, неотъемлемая часть взаимодействия сетей на персональных компьютерах и ноутбуках под управлением операционной системы виндовс. Это своего рода технология от «Майкрософт», срабатывающая всякий раз, когда компьютер или какое-либо приложение выполняет подключение к Глобальной сети.

Ошибка 10016 не сулит ничего страшного, но в устранении нуждается
К сведению! Стандартная Component Object Model способна получать доступ к файлам только на машине, с которой она была запущена, а Distributed Component Object Model может работать с данными на удаленных серверах.
Известно, что многие веб-сайты и ресурсы используют скрипты для доступа к удаленным серверам. Во время того, как операционная система делает то же самое, DCOM обращается к определенному объекту удаленного сервера, но часто не имеет соответствующих разрешений. Из-за этого и происходит ошибка. Она никак не влияет на работу системы, если только нет засорения журнала просмотра событий виндовс.

Ошибки с кодом события 10016 могут появляться в «Просмотре событий» на всех ПК с установленной Windows 10. Источником ошибок является расширение «Distributed COM» (DCOM), связывающее объекты на разных ПК.
Существуют различные способы исправления ошибок DCOM с идентификатором 10016, включающие работу с реестром или использование средств администрирования служб компонентов.

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

В некоторых случаях сообщения об ошибках могут начать появляться после установки определенных исправлений Windows.
Несмотря на то, что это не критическая системная ошибка, заполнение журнала ошибками 100016 может затруднить поиск и диагностику других ошибок на ПК.
В указанных случаях ошибки можно исправить либо предоставлением разрешения для компонентов DCOM, либо полным отключением регистрации ошибок Distributed COM.
Исправление проблемы
Существует несколько способов устранения неисправности на персональном устройстве (портативном, стационарном) в домашних условиях, без обращения к мастеру. К ним относят – предоставление доступа (разрешений) через встроенный реестр, использование журнала событий операционной системы ПК, настройка отдельных функциональных служб.

Настройка разрешений в реестре
Предупреждение с текстом ошибки 10016 свидетельствует о наличии неполадок внутренних блоков действующей операционки. Разрешение настраивается через внутренний редактор ОС. Этапы действий:
- открыть инструмент, используя горячие клавиши «Win» и «R» (через окно «Выполнить» и команду «regedit»);

- перейти на подраздел «Правка», строка «Найти» (открываются в меню открытого рабочего окна);

- проблемная программа имеет отдельный код из 16 символов, который нужно скопировать и переместить в поле поисковой строки;

- правой клавишей мышки вызвать контекстное меню приложения;
- кликнуть по строке «Разрешения», потом – в новом перечне – «Дополнительно».

Внимание! Важно переменить группу на «Администраторов» и предоставить полный доступ в разделе разрешений для выполнения операции. Иначе изменить настройки не получится.
После данных изменений пользователь может предоставить встроенной службе персонального устройства DCOM дополнительные разрешения на применение и активацию программы, которая вызвала сбой с кодировкой 10016.
Журнал событий
Журнал событий позволяет отследить события, перенастройки, процессы и обновления которые происходили, происходят или должны произойти внутри операционки конкретного ПК (портативного ноутбука или стационарного механизма). Неисправность с указанным кодом устраняют с использованием следующей инструкции:
- открыть блок управления «Администрирование»;

- перейти на раздел «Журналы Windows», затем – «Система»;

- проверить информацию.

Момент появления ошибки, цифровое обозначение и источник формирования проблемы отображаются вверху рабочего окна, в правой части. Начинающему пользователю может быть сложно разобраться в обозначениях – важно точно исследовать кодировки, варианты и способы восстановления работоспособности ПК.
Настройка службы компонентов
Дополнительный вариант устранения неполадки – активация встроенного сервиса настроек «Служба компонентов». Необходимые шаги:
- открыть поисковую панель операционки Windows;

- в пустое поле ввести запрос поиска;

- открыть контекстное меню результата (нажать правой клавишей мышки по названию элемента);

- запустить службу с правами Администратора (иначе внести необходимые изменения не получится);
- выбрать пункт «RuntimeBroker», перейдя по нескольким разделам – «Компьютеры», затем – «Мой компьютер» и «Настройка DCOM»;

- через контекстный список файла выбрать строку «Безопасность», где должна отобразиться активная кнопка «Настроить».

Затем требуется скопировать код программы, вызывающей ошибку. В Редакторе реестра нужно выбрать пункт «Правка» и после – «Найти», ввести скопированную кодировку. Перейти в дополнительном перечне настроек к пункту «Администраторы» (строки – дополнительно, изменить, дополнительно, поиск). В данном блоке переходят к настройкам PowerShell.
Появление неисправности с обозначением 10016 означает неполадку с разрешениями в работе отдельной службы персонального устройства. Пользователь может использовать некоторые способы для решения проблемы в домашних условиях. Важно последовательно и точно выполнять указанные инструкции.
Сделать копию реестра
Прежде чем выполнить шаги по устранению ошибок DCOM 10016, необходимо сделать копию системного реестра. Это позволит восстановить работу ОС в случае ее сбоев.
Также перед выполнением нижеследующих действий необходимо зайти в Windows с правами администратора.
Справка! Первый созданный в Windows 10 пользователь (напр., при инсталляции системы) имеет права администратора.
Шаг 1. Нажать клавиши «Win+R».

Шаг 2. Напечатать в меню «regedit» и щелкнуть «ОК».

Шаг 3. Откроется «Registry Editor» («Редактор реестра»). Нажать «File» («Файл») и щелкнуть «Export» («Экспорт»).

Шаг 4. В следующем окне о («Все»).

Шаг 5. Выбрать папку для размещения копии реестра и ввести ее имя.

Шаг 6. Щелкнуть «Save» («Сохранить»).

Редактирование реестра Windows для исправления ошибки DCOM Error 10016
Простая настройка реестра иногда позволяет немедленно исправить ошибку DCOM Error 10016.
Перед редактированием реестра я рекомендую сделать резервную копию.
Введите registry в строке поиска меню Пуск. Перейдите в меню Файл > Экспорт, установите для параметра Экспорт диапазон значение Все, а затем Сохранить реестр Windows в удобном месте. Следующее исправление не повредит ваш компьютер, но лучше всего сделать резервную копию для восстановления в случае непредвиденной ошибки.

Итак, давайте попробуем исправить ошибку.
- Введите registry в строке поиска меню Пуск и откройте Редактор реестра.
- Перейдите по ссылке HKEY_LOCAL_MACHINESOFTWAREMicrosoftOle. Адрес можно скопировать и вставить в адресную строку редактора реестра.
- Удалите следующие четыре ключа реестра:
- DefaultAccessPermission
- DefaultLaunchPermission
- MachineAccessRestriction
- MachineLaunchRestriction
- Закройте редактор реестра Windows, а затем перезагрузите систему.
С этого момента в системе не должно быть ошибки DCOM Error 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.
Как я могу исправить ошибку Windows 10 distribcom 10016?
Решение 1. Удаление ключей реестра
Рекомендуется сохранить копию значений реестра, прежде чем пытаться вносить какие-либо изменения. Решение будет работать, только если вы вошли в систему как администратор или включили администрирование.
- Перейдите в окно поиска и введите «regedit».
- Список результатов поиска будет отображаться, и вы можете нажать на regedit, чтобы открыть его.
- Наведите указатель мыши на раздел «HKEY_LOCAL_MACHINESOFTWAREMicrosoftOle» и удалите следующие ключи: DefaultAccessPermission, DefaultLaunch, PermissionMachineAccessRestriction, MachineLaunchRestriction
- Наконец, вы можете сохранить изменения, перезагрузив компьютер.
Разрешения по умолчанию будут записаны для системы, если вы удалите четыре вышеупомянутых ключа из своего реестра. Следовательно, те приложения, которым требуется доступ к серверу DCOM, в итоге получат доступ.
Решение 2. Включите достаточные разрешения .
- Нажмите Windows +R, , чтобы открыть Выполнить в вашей системе, .
- Затем вам нужно ввести regedit в диалоговом окне Выполнить и нажать кнопку ОК .
- Вы сможете увидеть редактор реестра в своей системе всего за несколько секунд.
- Перейдите в папку HKEY_CLASSES_ROOT >> CLSID , разверните ее и найдите папку CLSID с тем же CLSID, который вы указали в ошибке. Щелкните правой кнопкой мыши и выберите эту папку.

- Вы сможете увидеть владельца в верхней части окна. Вам нужно изменить владельца на Группа администраторов.
- Теперь вам нужно выбрать Заменить все записи разрешений дочерних объектов , которые доступны в нижней части окна владельца.
- Вы увидите предупреждение безопасности Windows, теперь нажмите кнопки ОК и Да соответственно.
- Нажмите кнопку Добавить, , введите Все в доступном поле и нажмите ОК . кнопка в предыдущем окне разрешений .
- Вы увидите список пользователей в верхней части главного окна разрешений. Теперь выберите Все в списке пользователей и разрешите предоставлять Полный контроль пользователю внизу.
- Нажмите ОК , чтобы применить полный контроль и сохранить изменения.
- Далее необходимо развернуть следующие папки в разделе HKEY_LOCAL_MACHINE >> Программное обеспечение >> Классы >> AppID.

- Выберите папку с APPID , аналогичной сообщению об ошибке, и щелкните ее правой кнопкой мыши.
- Повторите шаги с 5 по 10, чтобы предоставить достаточные разрешения для соответствующего приложения.
- Будет виден раздел реестра, имя которого будет похоже на имя службы, вызывающей ошибку.
- Откройте Панель управления в меню Пуск и перейдите в верхний правый угол, чтобы включить вид значков.
- Затем вам нужно перейти к Администрирование >> Службы компонентов

- Перейдите на Компьютер >> Мой компьютер.

- Щелкните правой кнопкой мыши службу, вызывающую проблему, нажмите Свойства и выберите вкладку Безопасность .
- Если вы правильно выполнили все предыдущие шаги для установки разрешений в реестре, вы можете выбрать Настроить для Запусков и активаций , Доступ к разрешениям , и категории Права доступа к конфигурации .
- Нажмите Изменить в разделе Разрешения на запуск и активацию. ( нажмите Удалить , если вы получите следующее предупреждение «одна или несколько вложенных записей разрешений имеют нераспознанный тип»)
- Теперь найдите Система в списке пользователей. Нажмите кнопку Добавить , если вы не можете ее найти, введите Система и нажмите кнопку ОК .
- Теперь вы сможете выбрать Система в списке пользователей в текущем окне. Найдите Локальный запуск и локальная активация и выберите Разрешить.
- Нажмите ОК , чтобы сохранить изменения, и повторите шаг 21 для Разрешения на доступ и Права на настройку .
- Наконец, вы найдете некоторые другие значения ClSID и AppID . Повторите следующие шаги для всех тех значений, которые были перечислены в журналах событий.
- Изменения вступят в силу после перезагрузки системы в конце.
Хотя второе решение кажется долгим и напряженным, оно рекомендуется только тем пользователям, которые не могут устранить ошибку с помощью первого метода.
Большинство пользователей смогли решить проблему с помощью обоих. Следовательно, вы определенно сможете избавиться от ошибки в кратчайшие сроки, если будете правильно выполнять каждый шаг.
Не стесняйтесь поделиться с нами, если у вас есть какие-либо быстрые решения этой ошибки.
Решение
Файл wmisvc. dll я просто скопировал в этот каталог. И о чудо! Служба wmimgmt запустилась автоматически, тормоза пропали, а в журнале событий ошибок по данной теме больше не возникало!
Update # 1
Эти знания (как устроен реестр в части касающейся служб) помогли мне решить и другие проблемы. В частности, на домашнем компьютере не работал принтер – не стартовала служба “Диспетчер печати”. По причине невозможности запустить дочернюю службу (“HTTP”).
Данной службы в диспетчере сервисов я не нашёл, но прикинул, что она мне не особо так и нужна в качестве зависимой. Взял и просто удалил запись об этой службе (смотрите параметр DependOnService, в котором перечислены службы, от которых зависит данный сервис), как о необходимой для запуска. Перезагрузился и диспетчер печати стартанул нормально! А я мучался несколько месяцев.
Устранение ошибки 10016 при запуске «Центра обеспечения безопасности»
В журнале событий Windows 10 также могут появляться ошибки, имеющие CLSID:
- Windows.SecurityCenter.WscDataProtection;
- Windows.SecurityCenter.WscBrokerManager;
- Windows.SecurityCenter.WscCloudBackupProvidor.

Эти ошибки связаны с задержкой автоматического запуска службы «Центра обеспечения безопасности Windows» из-за попытки указанных процессов инициировать его запуск на слишком раннем этапе, что приводит к выдаче ошибок.
Указанные ошибки повторяются и после запуска указанной службы (wscsvc).
Для устранения ошибок необходимо изменить значение отложенного запуска wscsvc, чтобы служба быстрее запускалась в процессе ее загрузки. Однако изменить значение через приложение «Службы» невозможно, поскольку у пользователя нет на это прав.
Указанное действие можно выполнить только через реестр.
Шаг 1. Нажать «Win+R», напечатать «regedit» и нажать «ОК».

Шаг 2. Перейдите к разделу:
- «HKEY_LOCAL_MACHINE»;

- «SYSTEM»;

- «CurrentControlSet»;

- «Services»;

- «wscsvc».

Шаг 3. В правой части посмотреть значение «DWORD» с именем «DelayedAutoStart» и дважды щелкните по нему.

Шаг 4. Изменить значение с 1 на 0 и нажать «OK».

Шаг 5. Закрыть редактор реестра и перезагрузить ПК.
Сообщения об ошибках DCOM 10016, связанные с Windows.SecurityCenter, больше не будут появляться в «Просмотре событий» системы.
Что такое DistributedCOM
В первую очередь необходимо разобраться, что такое DistributedCOM, и почему этот объект вызывает ошибку. DistributedCOM — это Distributed Component Object Model, неотъемлемая часть взаимодействия сетей на персональных компьютерах и ноутбуках под управлением операционной системы виндовс. Это своего рода технология от «Майкрософт», срабатывающая всякий раз, когда компьютер или какое-либо приложение выполняет подключение к Глобальной сети.

Ошибка 10016 не сулит ничего страшного, но в устранении нуждается
К сведению! Стандартная Component Object Model способна получать доступ к файлам только на машине, с которой она была запущена, а Distributed Component Object Model может работать с данными на удаленных серверах.
Известно, что многие веб-сайты и ресурсы используют скрипты для доступа к удаленным серверам. Во время того, как операционная система делает то же самое, DCOM обращается к определенному объекту удаленного сервера, но часто не имеет соответствующих разрешений. Из-за этого и происходит ошибка. Она никак не влияет на работу системы, если только нет засорения журнала просмотра событий виндовс.

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

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

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

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

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

Исправление разрешений
Наконец, когда вы удостоверились, что это именно тот файл выдает ошибку, то проделайте следующие шаги:
Запуск сценария PowerShell активирует эту кнопку настройки с помощью команды, но я рекомендую воспользоваться этим способом, если у вас не получилось все по порядку. Пропустите этот шаг «Запуск сценария PowerShell», если что потом вернетесь к нему.
Чтобы обойти эту ошибку, вам нужно отредактировать некоторые разрешения в разделе «Служба компонентов» ключа RuntimeBroker. Прежде чем перейти к модификации, вам нужно запустить скрипт, который поможет вам изменить разрешения. Дальше поймете зачем мы это делали.
Шаг 1. Нажмите сочетание кнопок Win+X и выберите Windows PowerShell (администратор).
Шаг 2. Загрузите файл с кодом ниже. Разархивируйте скаченный архив, в нем содержится текстовый файл с кодом.
Шаг 3. Вставьте скаченный скрипт с файла в командную строку PowerShell.
Добавим группы система и local service.

Перезагрузите компьютер, ноутбук и код события 10016 Ошибка DistributedCOM должен пропасть.
Иногда при запуске компьютера в журнале событий Windows 10 можно увидеть ошибку с кодом события 10016, вызванную службой DistributedCOM (DCOM). Этот компонент используется практически во всех версиях ОС Windows, поэтому ошибка может возникнуть на любом компьютере. В большинстве случаев она никак не нарушает работу ПК, но может мешать тем, что вызывает появление уведомлений при каждом старте системы. Что это за ошибка DistributedCOM 10016 в Windows 10 и как ее исправить, я расскажу далее в своём обзоре.
Причины ошибки с кодом 10016
Уведомление с кодом 10016 несет в себе множество описаний в системном журнале событий, поэтому следует узнать, какие инструкции выполнял компьютер перед появлением ошибки. Это поможет решить проблему, а не гадать, что именно ее вызвало.
Обратите внимание! Часто главной причиной спонтанного появления уведомлений является некорректная схема питания или малая мощность подаваемого электрического питания. Например, пользователь установил в свой компьютер дополнительную плашку оперативной памяти, новое устройство или жесткий диск, и ошибка сразу же начала появляться
Все это из-за того, что блок питания не справляется с нагрузкой или частично уже вышел из строя. Есть и другие причины возникновения рассматриваемой проблемы:
Например, пользователь установил в свой компьютер дополнительную плашку оперативной памяти, новое устройство или жесткий диск, и ошибка сразу же начала появляться. Все это из-за того, что блок питания не справляется с нагрузкой или частично уже вышел из строя. Есть и другие причины возникновения рассматриваемой проблемы:
- неправильные конфигурации в БИОС или UEFI. Либо пользователь сам их изменил, либо это сделала какая-то сторонняя программа или вирус;
- испорченные, устаревшие или отсутствующие драйверы. Необходимо комплексно проверить свою ОС на наличие обновлений драйверов и скачать их с официальных сайтов производителей оборудования;
- проблемы с установленным антивирусом. Иногда подобные программы начинают блокировать не те службы и процессы, которые нужно. Касается это и защитника виндовс, который иногда перебарщивает со своими возможностями. Можно попробовать отключить его, чтобы проверить это;
- проблемы с электрическим питанием. Если в операционной системе неправильно настроена схема питания, или есть проблемы на аппаратном уровне, то это может вызывать ошибку;
- ошибка электропитания во время запуска приложений и в процессе игры;
- проблема BSOD 0×8000400000000002, вызываемая появлением этого «экрана смерти».
Существуют и другие причины, по которым появляется рассматриваемая ошибка, но они не такие распространенные. Далее подробно рассмотрено, как решить проблему появления уведомления «Код события 10016 Windows 10».
Просмотр журнала событий
