Ошибка 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} в Windows server 2012 R2
Доброго времени суток, уважаемые читатели, сегодня решаем ошибку 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
Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения 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), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов.
{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}
and APPID
{4839DDB7-58C2-48F5-8283-E1D1807D0D7D}
to the user NT AUTHORITY\LOCAL SERVICE SID (S-1-5-19) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.
Данная ошибка выскакивает, когда какая-то из утилит не может обратиться к 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
Методы решения ошибки 10016
Сначала нужно обновить Windows через центр обновления, и если не поможет, то делаем по очереди предложенные решения:
- Назначаем недостающие права на ветку с GUID номером {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} или другим, зависит от вашей ситуации с кодом ошибки 10016
- Удаление некоторых ключей реестра
- Использование скрипта PowerShell
Как исправить ошибку 10016 через назначение прав в реестре
- Сразу логинимся на проблемный сервер под администратором, чтобы не вводить всякий раз имя и пароль. Запускаем Regedit.
- Запускаем поиск (CTRL+F) и ищем второй из GUIDов в описании ошибки, т.е. APPID. В данном случае это «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}».
- Первый результат поиска должен быть в ключе HKEY_CLASSES_ROOT\AppID\. Наступаем на найденный GUID в левой панели и щелкаем правой кнопкой, выбираем Разрешения, а затем кнопку Дополнительно.
- В верхней части дополнительных параметров указан текущий владелец TrustedInstaller. Нажимаем рядом с ним ссылку Изменить.
- Нам нужно сделать владельцем локальную группу Администраторы. Затем кнопки Дополнительно, Поиск и выбираем в результатах поиска Администраторы.
- Ставим флажок «Заменить владельца подконтейнеров и объектов», кнопка ОК.
- После смены владельца мы можем изменять разрешения. В окне Разрешения на вкладке Безопасность даем для СИСТЕМА и Администраторы разрешение на полный доступ. ОК.
- Далее смотрим для нашего ключа HKEY_CLASSES_ROOT\AppID\{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} значение параметра «(По умолчанию)» = «RuntimeBroker«.
8. В диспетчере серверов в правом верхнем углу меню Средства -> Службы компонентов. Открываем Компьютеры –> Мой компьютер –> Настройка DCOM. Правый клик по строке из п.7 RuntimeBroker, Свойства.
9. На вкладке Безопасность. В разделе Разрешения на запуск и активацию кнопка Изменить. Для группы СИСТЕМА разрешаем Локальный запуск и Локальная активация. ОК. Если вам runtimebroker не дает отредактировать настройки, то вам нужно дать права на него в реестре Windows
Открываем редактор реестра Windows. Переходим в ветку
щелкаем по нему правым кликом и выбираем свойства.
Даем права для группы администраторы (Полный доступ)
Если не даст вам поставить, то вам нужно заменить владельца Trustinstaller на себя или группу администраторы. Как только дали права, идем опять в компоненты DCOM и выставляем права, как описывал выше.
10. Перезагружаем сервер, проверяем логи, по сути ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} вы не должны больше увидеть.
Как исправить ошибку 10016 через удаление ключей из ветки OLe
Данный метод подразумевает удаление нескольких ключей реестра, которые отвечают за проверку прав на COM объекты. Нас будет интересовать ветка реестра:
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. По умолчанию администраторы могут получать разрешения на локальный и удаленный запуск и активацию, а члены группы «Все» могут получать разрешения на локальную активацию и запуск.
теперь находим все эти ключи, щелкаем по ним правым кликом мыши и удаляем со спокойной душей, далее я вам советую перезагрузить вашу систему. В подавляющем количестве случаев ошибка с кодом 10016 у вас больше не появится.
Исправление ошибки 10016 через PowerShell
Если вам не удалось изменить запуск службы для системы, то можно все поправить и избавиться от сообщений "APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
пользователю NT AUTHORITY\СИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно)" с помощью скрипта PowerShell. Открываем ссылку с Microsoft
Или во тут
Скачиваем тут сценарий DCOMPermissions.psm1
Кладем данный модуль в нужную вам папку. Далее вы открываете консоль PowerShell и переходите в месторасположение данного модуля, после чего его нужно импортировать:
Grant-DCOMPermission -ApplicationID "{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}" -Account "SYSTEM" -Type Launch -Permissions LocalLaunch,LocalActivation -OverrideConfigurationPermissions
Если ошибок не вышло, то значит все успешно применено, перезагрузка не потребуется.
Далее вы можете посмотреть примененные разрешения:
Вы увидите права у системы, у нее будет SID S-1-5-10.
На этом у меня все, мы успешно устранили ошибку DCOM 10016. Я должен подчеркнуть, что ошибка DCOM 10016 вряд ли повлияет на производительность вашей системы. В очень старые времена, когда Microsoft впервые представила «Distributed» в компонентной объектной модели, были уязвимости. Однако эти уязвимости были исправлены, и DCOM теперь безопасен. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
КАК ИСПРАВИТЬ ОШИПКУ Параметры разрешений по умолчанию для компьютера не дают разрешения Локально Активация для приложения COM-сервера с CLSID
Читайте внимательно последовательность действий
Спасибо
мне помогло на Windows 10
Рад, что получилось
Аналогично, Windows 10 — вылечено. Спасибо!
Рад, что пригодилось, а то все никто не комментирует))
А я вот в стал на 9 пункте — просто у меня эти галочки все равно не ставятся, кнопка изменить не активна. Все на 10 раз уже проверил и ….. все верно, но где то видимо чего я недопонимаю. А вот еще абсолютно не понятна фраза «Перезагрузить локальный сервер».
Вот у меня тоже загвоздка в пунктах с 8 по 10. Я простой пользователь и немного не понятно как тот же диспетчер открыть.
Добрый день для какой ос вы решаете данную ошибку?
Если я? то Windows 10
Я писал про 2012, но накидал вам скриншоты где и что найти
не пропускает 9 пункт, не дает делать изменения, хоть и все сделала и для администратора все открыто.
У кого кнопка «Изменить» неактивна, переключитесь в этом окне с «По умолчанию» на «Настроить»
Не работает данный способ. Windows 10 Pro Anniversary Update со всеми обновлениями. 10 раз по этой инструкции правил реестр, RuntimeBroker, а ошибка как была, так и есть.
Есть идеи?
8 пункт не выполняется после всех изменений с реестром, права получены, владелец сменен
но изменить все равно нельзя, все серое…
Сергей, тоже было всё серое но там есть и третья ветка в реестре с этим ID 9CA88EE3-ACB7-47C8-AFC4-AB702511C276 на него тоже надо получить права (аналогично предыдущим), и тогда откроется доступ к RuntimeBroker.
когда открылся доступ жму на свойства RuntimeBroker в службах компонентов, жму безопасность > разрешения на запуск > изменить
вывалилась табличка:
«Одна или несколько записей разрешений, определенных для Значения реестра, имеют нераспознаваемый или специфический для приложения тип (ответный вызов) и не могут отображаться.»
Нажал удалить, добавил пользователя СИСТЕМА и дал права.
По аналогии ошибка с 4EDD6725-7003-4120-A0BB-BBDEBA704FB7
LockAppHost Out of Proc Server for Lock Apps
{C08B030B-E91C-479D-BEFD-02DDA7FF1BCF}
вроде все сделал, мне не помогло(
win10 Anniversary Update… нет слов
Аналогично. После выполнения ВСЕХ рекомендаций ошибка не исчезла.
Ось — Windows 10 со всеми апдейтами…
Где логинимся?Чушь какая то.
В ветке HKEY_CLASSES_ROOT\AppID\ у меня нет RuntimeBroker.exe
Помогло, спасибо. Всё манипулировалось от администратора.
Спасибо.Помогло.(WinSer2012R2)
А у меня вот в Службах компонентов 2 RuntimeBroker’a. В одном изменения доступны, а в другом нет. Win 10 Pro. Это нормально? Просто у меня данная ошибка крайне редко проявляется и не могу проверить, исчезла или нет) И, кстати, в ветке HKEY_CLASSES_ROOT\AppID\ у меня тоже нет RuntimeBroker.exe Есть такой в Application, но там все разрешения как надо стоят, после проделанных процедур. Просто вот думаю, неизменяемый РантаймБрокер будет мешать работать изменяемому , как надо, или нет?
Помогло ведь на Win 10 x64. Вот спасибо.
Не заморачивайтесь на RuntimeBroker.exe. В моём случае это был LocalServiceHost. Остальное выполнял по указанному алгоритму. И всё стало замечательно. Единственное что я после манипуляций со Службами компонентов вернул разрешения на раздел в реестре как было, т.е Администраторы — Только чтение, Владелец — NT Service\Trustedinstaller, как советуют на
_ttps://answers.microsoft.com/ru-ru/windows/forum/windows_10-performance/параметр/6c577953-693e-4227-a5db-65734b3d7169
Очень рад.
9 пункт не могу пройти, всё серое ни добавить пользователя не изменить. Win10 x64
И в настройках DCOM у меня ТРИ строки RuntimeBroker!!? В двух из них все манипуляции сделаны, ошибка на месте, а вот в третьем никак.
Не получается ничего, бесит уже эта 10 винда, никаких проблем в 7 не было, а тут сидишь себе сидишь в ютубе и комп с того ни с сего перезагружается(
В редакторе реестра нету RuntimeBroker.exe.Что мне делать в таком случае ,помогите?
Попробуйте создать
У кого в RuntimeBroker недоступны галочки, в реестре нужно дать на него разрешения как указано в статье, но искать в реестре нужно не RuntimeBroker, а код этого приложения который можно увидеть на вкладке «Общие» в свойствах RuntimeBroker (у меня это 9CA88EE3-ACB7-47c8-AFC4-AB702511C276).
Спасибо, ваши решения всегда помогают.
Ошибка 10016 в Windows, решаем за минуту
+++++
шутка — ЗАЧОТ!!
здравствуйте , п.9 HKEY_CLASSES_ROOT\AppID\RuntimeBroker.exe нет папки runtimebroker.exe нигде , что делать ? помогите пожалуйста(
Спасибо, похоже починл падение Veeam Backup на сервере Windows Server 2016!
На вкладке Безопасность. В разделе Разрешения на запуск и активацию кнопка Изменить. Для группы СИСТЕМА разрешаем Локальный запуск и Локальная активация.
У МЕНЯ НЕТ ТАМ система ?
Как быть?
Используйте скрипт
у меня нет начиная с 4п я не могу изменить, постоянно ошибка!!
Не нашел скрипта DCOMPermissions.psm1 и как его запустить на компе?
Воспользуйтесь поиском на нужно странице CTRL+F, я проверил все есть
Пытался установить прогу. Пишет: Ошибка приложения: Код исключения 0х800706b5 адрес 0xefbf4fd9
П.1 Комп домашний. Сервера нет. (или что-то не понимаю). Запустил Regedit
П.2 (CTRL+F) нашел второй из GUIDов в описании ошибки, т.е. APPID.
П.3 нашел GUID
П.4 и 5 Заменил владельца TrustedInstaller на Администраторы
П.6 заменил флажок «Заменить владельца подконтейнеров и объектов»
П.7 для СИСТЕМА и Администраторы разрешение на полный доступ дал.
П.8 параметр «(По умолчанию)» = «RuntimeBroker«. Отсутствовал. Создал. Ключи в папке появились сами.
В диспетчере серверов в правом верхнем углу меню Средства -> Службы компонентов. Открываем Компьютеры –> Мой компьютер –> Настройка DCOM. Правый клик по строке из п.7 RuntimeBroker, Свойства. Кликнул.
П.9 Невозможно добавить пользователей «Администраторы». Не подсвечивается.
Открыл редактор реестра Windows. Перешел в ветку
HKEY_CLASSES_ROOT\AppID\RuntimeBroker.exe Администраторы полный доступ имеют.
По прежнему Невозможно добавить пользователей «Администраторы». Не подсвечивается.
П.10 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole
сделал резервную копию ветки.
Вырезать ключи не рискнул. Попробовал слияние выполнить, пишет мало прав. Переустанавливать не хочется.
Скачать скрипт DCOMPermissions.psm1 Скачал. Кладем данный модуль в нужную вам папку. Положил.
Далее вы открываете консоль PowerShell Открыл.
и переходите в месторасположение данного модуля, после чего его нужно импортировать: Как это сделать?
Жалко, что нельзя загрузить скриншоты, было бы понятнее. Можно Вам на почту? Есть нужда.
Команда описана для импорта: Import-Module .\DCOMPermissions.psm1
Попытался импортировать. Комп написал:Import-Module: The specified module ‘.\DCOM Permissions.psm1’ was not loaded because no valid module file was found in any module directory.
Импорт-Модуль: Указанный модуль ‘.\DCOM Permissions.psm1’ не был загружен, поскольку ни в одном каталоге модуля не был найден допустимый файл модуля. Хотя модуль скачан и лежит в папке F:\WORK\Ремонт
Вы точно перешли в каталог с файлом?
Hi to every one, the contents present at this weeb site are actuzlly awesome for pople knowledge, well, keep up tthe nice work fellows.
Many thanks for the rating. Hope I could be of some help to you.
Попытался решить проблему вторым способом — через удаление четырех ключей в Реестре. Но оказалось, что ключа DefaultAccessPermission у меня в Реестре нет.
Windows 10 LTSC версия 1809.
Удалил три оставшихся ключа, но это не решило проблемы.
Что можно сделать?
Огромное Вам спасибо от сотрудника Ставропольской слубы тех. поддержки! Отличная статья! Очень помогли!
с помощью PS ошибку победил.
связана ли она с проблемой TSfarm ? когда память не отображается у хоста в балансировке ?
у меня на всех хостах перестала отображаться в ферме и не могу запретить новые входы для новых пользователях на всех терминалах.
по сети все доступно и 135 порт через телнет проваливается.
что еще может быть ? так не хочу по новой пересобирать ферму терминалов ((
если что шлюз не пользую, так как не публикую наружу.
Как же надоела уже эта ошибка, она тянется еще со времен Windows ?.