Ошибка distributedcom windows 7

Обновлено: 04.07.2024

Вот возможное решение:

Component Services > Computers > My Computer > DCOM Config

Select netman from the list in the right window.

Right click netman select properties

In the Netman Properties window select the Security tab.

In the Security tab look for Launch and Activation Permissions. Select
Customize then click on the Edit Button.

In the Launch Permissions window click on the Add button.

Type in Network Service in the Enter the object names to select box.

Click on the Ok button.

Select the Network Service in the Launch Permission Security Tab, Group
or user names area and give it (allow rights) for Local Launch and Local
Activation

Click Ok
Click Ok

Close Component Services."

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

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

  1. Выберите в меню Пуск пункт Выполнить, введите в поле Открыть команду regedit и нажмите кнопку ОК.
  2. Найдите и выделите следующий подраздел реестра:
  • Локальный запуск
  • Удаленный запуск
  • Локальная активация
  • Удаленная активация

Предоставьте соответствующие права доступа учетной записи сетевой службы

Посмотрите кто каой: UserID="S-1-5-21-4191970261-1375547984-3199984466-1142 сила в справедливости mouze47
так вы давали разрешение на локальную активацию для DOM\user ?
какой COM сервер в вашем случае скрывается под CLSID ?
MCSE, MCTS, MCITP, STS

Buchenkov Andrey
Я давал разрешение для группы в которую входят все мои пользователи.
Kaspersky Anti-Virus Script Inspector

Kudrat Sapaev
Под UserID="S-1-5-21-4191970261-1375547984-3199984466-1142 скрывается пользователь user.

Ничего из вышенаписанного не помогло :(

ибо для пользователя SYSTEM все уже везде разрешено :(

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

пользователю NT AUTHORITY\SYSTEM с SID (S-1-5-18) и адресом LocalHost (с использованием LRPC). Это разрешение безопасности можно изменить с помощью служебной программы управления службами компонентов.

< Provider Name =" Microsoft-Windows-DistributedCOM " Guid =" " EventSourceName =" DCOM " /> < EventID Qualifiers =" 49152 " > 10016 </ EventID > < Keywords > 0x80000000000000 </ Keywords > < TimeCreated SystemTime =" 2009-07-06T06:35:07.000Z " /> < EventRecordID > 34472 </ EventRecordID > < Execution ProcessID =" 0 " ThreadID =" 0 " /> < Computer > server-2.msk.local </ Computer > < Data Name =" param1 " > для конкретного приложения </ Data > < Data Name =" param2 " > Локальный </ Data > < Data Name =" param3 " > Запуск </ Data > < Data Name =" param5 " > NT AUTHORITY </ Data > < Data Name =" param6 " > SYSTEM </ Data > < Data Name =" param7 " > S-1-5-18 </ Data > < Data Name =" param8 " > LocalHost (с использованием LRPC) </ Data >

Попробуйте такое решение:

Due to security consideration, some system core components only grant
Trustedinstaller full control permission instead of Administrators.
To enable modification settings of 'CertSrv Request':
1. Open Register Editor to
'HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\'

2. Right click the key (AppID of Certsrv
Request), choose permission.
3. Take the ownership to Administrators. Then grant the Administrators 'full
control' permission.
4. Restart the dcomcnfg.

Nikita Panov
Я так понимаю это не для меня решение?

Ничего из вышенаписанного не помогло :(

ибо для пользователя SYSTEM все уже везде разрешено :(

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

пользователю NT AUTHORITY\SYSTEM с SID (S-1-5-18) и адресом LocalHost (с использованием LRPC). Это разрешение безопасности можно изменить с помощью служебной программы управления службами компонентов.

< Provider Name =" Microsoft-Windows-DistributedCOM " Guid =" " EventSourceName =" DCOM " /> < EventID Qualifiers =" 49152 " > 10016 </ EventID > < Keywords > 0x80000000000000 </ Keywords > < TimeCreated SystemTime =" 2009-07-06T06:35:07.000Z " /> < EventRecordID > 34472 </ EventRecordID > < Execution ProcessID =" 0 " ThreadID =" 0 " /> < Computer > server-2.msk.local </ Computer > < Data Name =" param1 " > для конкретного приложения </ Data > < Data Name =" param2 " > Локальный </ Data > < Data Name =" param3 " > Запуск </ Data > < Data Name =" param5 " > NT AUTHORITY </ Data > < Data Name =" param6 " > SYSTEM </ Data > < Data Name =" param7 " > S-1-5-18 </ Data > < Data Name =" param8 " > LocalHost (с использованием LRPC) </ Data >

Вы сейчас описали совсем другую проблему чем описанная вами в первом посте.
Означает ли это что на проблемы активации объекта с CLSID больше не ругается?
Что в вышеописанной ошибке является CLSID вы выясняли? SYSTEM имеет права на на локальную активацию этого объекта?
" SYSTEM все уже везде разрешено :( " - не соглашусь. ибо если есть ошибка, то не всё и не везде. Выход один - внимательно всё проверить.

Никита описал решение проблемы когда администратор не может изменить свойства COM-сервера, в том числе и разрешения на активацию и запуск. MCSE, MCTS, MCITP, STS

Nikita Panov
Я так понимаю это не для меня решение?

Это уже не тот человек был, кто в первом посте писал.


Я только сегодня смог побороть сл. способом:

24FF4FDC-1D9F-4195-8C79-0DA39248FF48 - AppID = B292921D-AF50-400c-9B75-0C57A7F29BA1

B292921D-AF50-400c-9B75-0C57A7F29BA1 - dcomcnfg = NAP Agent Service

В NAP Agent Service все настройки заблочены. каких либо прав дать ну никак нельзя.

После смены Типа запуска napagent Службы с Ручного на Авто и перезагрузки сервера - ошибка пропала.

(служба стартует с учетной записью Network Service. )


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

24FF4FDC-1D9F-4195-8C79-0DA39248FF48 - AppID = B292921D-AF50-400c-9B75-0C57A7F29BA1

B292921D-AF50-400c-9B75-0C57A7F29BA1 - dcomcnfg = NAP Agent Service

В NAP Agent Service все настройки заблочены. каких либо прав дать ну никак нельзя.

(служба стартует с учетной записью Network Service. )

ОС Windows 8.1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ошибка 10016

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

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

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

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

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

Событие 10016

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

and APPID

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.

Методы решения ошибки 10016

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

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

Ошибка 10016 в windows-1


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

Ошибка 10016 в windows-2


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

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

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

runtimebroker exe windows 10-2

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

runtimebroker exe windows 10-3

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

runtimebroker exe windows 10-4

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

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

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole

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

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

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

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

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

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

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

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

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

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

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

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

Grant-DCOMPermission -ApplicationID "" -Account "SYSTEM" -Type Launch -Permissions LocalLaunch,LocalActivation -OverrideConfigurationPermissions

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

Windows

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

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

and APPID

to the user 1C\Administrator SID (S-1-5-21-943282006-2197489507-2874824746-500) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.

win

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

Некий пользователь по имени 1C\Administrator (1C — это имя компьютера, пользователь — локальный администратор компьютера) с идентификатором SID (S-1-5-21-943282006-2197489507-2874824746-500), будучи в здравом уме и твёрдой памяти, находясь на локальной машине (LocalHost — этот сервер), с помощью LRPC (Lightweight Remote Procedure Call — это оптимизированный способ локального запуска удалённых процедур) запустил какое-то приложение с идентификатором APPID в каком-то контейнере приложений с неизвестным SID.

Это приложение с идентификатором APPID полезло в службу COM Server с идентификатором CLSID и обратилось к DCOM объекту с како-то командой, которое требует права Local Activation. А таких прав у приложения (или пользователя, или системы) нет.

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

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

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

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

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

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

Дать права Local Activation приложению, которое пытается лезет в службу COM Server с идентификатором CLSID .

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

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

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

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

И находим там ветку реестра с идентификатором CLSID .

win

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

win

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

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

win

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

win

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

win

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

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

И находим там ветку реестра с идентификатором APPID .

win

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

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

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

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

win

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

win

Находим в списке приложение с определённым нами именем RuntimeBroker и Application ID .

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

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

win

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

win

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

win

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

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

Перезагружаем сервер, проверяем лог, ошибка 10016 для CLSID и APPID не должна повториться.

Читайте также: