Как исправить ошибку DCOM Event ID 10016 в Windows 10

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

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

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

Ошибка с идентификатором события DCOM 10016

Ошибка с идентификатором события DCOM 10016

Вы можете заметить следующее событие 10016, зарегистрированное в журналах системных событий на компьютере под управлением Windows 10 , Windows Server 2016 , Windows Server 2019, Windows Server версии 1903 или Windows Server 1909 :

Source: Microsoft-Windows-DistributedCOM
Event ID: 10016
Description: The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{D63B10C5-BB46-4990-A94F-E40B9D520160}
and APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
to the user NT AUTHORITY\SYSTEM SID (S-1-5-18) 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 ID 10016 . Тем не менее(Nevertheless) , процедура устранения ошибки по существу такая же.

Ошибка DCOM обычно возникает, когда приложение или служба пытается использовать DCOM , но не имеет необходимых разрешений. В большинстве случаев ошибки DCOM не повлияют на вашу систему, за исключением того, что они будут засорять вашу программу просмотра(Viewer) событий . Эти события 10016 записываются, когда компоненты Microsoft пытаются получить доступ к компонентам DCOM без необходимых разрешений. В данном случае это ожидаемо и по замыслу.

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

Как устранить ошибку с идентификатором события DCOM 10016(ID 10016)

Чтобы решить эту проблему, Microsoft предлагает создать XML-фильтр для подавления ошибки с идентификатором события DCOM 10016 .(ID 10016)

Вот как:

  • Откройте средство просмотра событий(Event Viewer) ( нажмите клавишу Windows(Press Windows) + R. В диалоговом окне « Выполнить » введите (Run)eventvwr и нажмите Enter).
  • Щелкните Журналы Windows(Windows Logs) > Система(System) .
  • Щелкните  Фильтровать текущий журнал (Filter current log ) под панелью действий(Action) .
  • Выберите вкладку XML и установите флажок « Редактировать запрос вручную(Edit query manually) ».
  • Скопируйте и вставьте следующий текст XML в диалоговое окно фильтра.
<QueryList>
  <Query Id="0" Path="System">
    <Select Path="System">*</Select>
    <Suppress Path="System">
      *[System[(EventID=10016)]]
      and
      *[EventData[
        (
          Data[@Name='param4'] and Data='{D63B10C5-BB46-4990-A94F-E40B9D520160}' and
          Data[@Name='param5'] and Data='{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}' and
          Data[@Name='param8'] and Data='S-1-5-18'
        ) 
        or
        (
          Data[@Name='param4'] and Data='{260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E}' and
          Data[@Name='param5'] and Data='{260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E}'
        ) 
        or
        (
          Data[@Name='param4'] and Data='{C2F03A33-21F5-47FA-B4BB-156362A2F239}' and
          Data[@Name='param5'] and Data='{316CDED5-E4AE-4B15-9113-7055D84DCC97}' and
          Data[@Name='param8'] and Data='S-1-5-19'
        )
        or
        (
          Data[@Name='param4'] and Data='{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}' and
          Data[@Name='param5'] and Data='{4839DDB7-58C2-48F5-8283-E1D1807D0D7D}' and
          Data[@Name='param8'] and Data='S-1-5-19'
        ) 
      ]]
    </Suppress>
  </Query>
</QueryList>

В этом запросе  param4  соответствует CLSID приложения COM-сервера(COM Server)param5  соответствует APPID, а  param8 соответствует (param8)SID  контекста безопасности , все они записываются в журналы событий 10016.

  • Нажмите ОК(OK) .

Записи об ошибках DCOM с (DCOM)идентификатором события 10016(Event ID 10016) теперь скрыты от просмотра.

Кроме того, вы можете решить проблему с разрешениями DCOM с помощью (DCOM Permissions)редактора реестра(Registry Editor) и инструмента DCom Config .

Вот как:

Исправление включает настройку реестра, поэтому в качестве меры предосторожности рекомендуется создать резервную копию реестра(back up the registry) или создать точку восстановления системы .

Чтобы предотвратить регистрацию событий, выполните следующие действия, чтобы предоставить разрешение компонентам DCOM с определенными идентификаторами CLSID(CLSIDs) и APPID(APPIDs) .

Во-первых, вам нужно выяснить, какой процесс или служба связаны с идентификатором CLASS ID(CLASS ID) , указанным в ошибке. Для этого скопируйте CLSID , указанный в описании события. В данном случае это {D63B10C5-BB46-4990-A94F-E40B9D520160} . Не забудьте также скопировать обе фигурные скобки.

Теперь запустите редактор реестра . Когда у вас откроется редактор реестра, нажмите «  Изменить(Edit) »,  а затем  « Найти(Find) » . Вставьте CLSID в поле поиска и нажмите Enter .

Теперь реестр инициирует поиск. Через некоторое время вы должны получить результат по HK_CLASSES_ROOT\CLSID  . С правой стороны у него должно быть два ключа, а в «  По умолчанию(Default) » должно быть указано имя службы. В данном случае это должен быть RuntimeBroker .

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

  • Тем не менее, в редакторе реестра перейдите к следующему ключу AppID , связанному с RuntimeBroker:

HKEY_CLASSES_ROOT\AppID\{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}

По умолчанию TrustedInstaller владеет этим разделом реестра и его подразделами. Установите администратора(Set Administrator) в качестве владельца ключа и его подразделов. Дополнительные  сведения см. в разделе о том, как стать владельцем ключей реестра(how to take ownership of registry keys)  .

  • После назначения администраторов(Administrators)  в качестве владельца назначьте   группе  администраторов и (Administrators)системной(SYSTEM)  учетной записи разрешение на полный(Full Control) доступ для ключа и подразделов.
  • Выйдите из редактора реестра.

Затем запустите инструмент настройки DCOM (нажмите клавишу (DCOM Configuration)Windows + R. В диалоговом окне « Выполнить » введите (Run)dcomcnfg.exe  и нажмите Enter.

  • Щелкните Службы компонентов(Component Services) > Компьютеры(Computers) > Мой(My Comput) компьютер > Конфигурация DCOM(DCOM Config) .
  • Щелкните правой кнопкой мыши(Right-click) приложение, соответствующее AppID , записанному в журнале событий, и выберите пункт Свойства(Properties) .

Имя приложения в этом примере — RuntimeBroker , которое мы определили ранее. Если средство настройки DCom(DCom Config) перечисляет две записи RuntimeBroker . Чтобы найти нужное, щелкните элемент правой кнопкой мыши, выберите «Свойства» и сопоставьте идентификатор приложения(App ID) с идентификатором в реестре.

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

Если кнопка « Изменить » неактивна на странице (Edit)свойств(Properties) приложения RuntimeBroker в DCOM Config , вам необходимо проверить разрешения раздела реестра AppID .

  • В разделе Имена групп или пользователей(Group or user names) выберите Добавить(Add) .
  • Введите(Enter) имя группы или пользователя, записанное в журнале событий. Например, учетная запись, записанная в журнале, может быть NT AUTHORITY\NETWORK SERVICE , NT AUTHORITY\SYSTEM или какой-либо другой группой или учетной записью.
  • Нажмите ОК(OK) .
  • Назначьте(Assign Local Activation) разрешение на локальную активацию для добавленного вами пользователя или группы и завершите процесс.

Эта процедура предотвращает появление в журнале событий ошибок с кодом события(Event ID) : 10016, связанных с разрешениями DCOM .

Примечание(Note) . Корпорация Майкрософт(Microsoft) не рекомендует метод изменения разрешений для компонентов DCOM , чтобы предотвратить регистрацию этой ошибки, поскольку эти ошибки не оказывают неблагоприятного влияния на функциональность, а изменение разрешений может привести к непреднамеренным побочным эффектам.

Hope this helps!



About the author

Я инженер-программист и эксперт по Windows 10. У меня более двух лет опыта работы со смартфонами, Windows 10 и Microsoft Edge. Моя основная задача — сделать так, чтобы ваши устройства работали лучше и быстрее. Я работал над различными проектами для таких компаний, как Verizon, IMac, HP, Comcast и многих других. Я также являюсь сертифицированным инструктором по обучению работе с облачными технологиями Microsoft Azure.



Related posts