DCOM event ID 10016 регистрируется в Windows

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

Применяется к:   Windows 10 — все выпуски, Windows Server 2019, Windows Server 2016
Исходный номер КБ:   4022522

Симптомы

На компьютере, на Windows 10, Windows Server 2019 или Windows Server 2016, в журналы событий системы регистрируется следующее событие.

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.d

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  
{260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E}  
and APPID  
{260EB9DE-5CBE-4BFF-A99A-3710AF55BF1E}  
to the user machine\user SID (S-1-5-21-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxx) from address LocalHost (using LRPC) running in the application container Microsoft.Windows.ShellExperienceHost_10.0.14393.726_neutral_neutral_cw5n1h2txyewy SID (S-1-15-2-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx). This security permission can be modified using the Component Services administrative tool.

Source:        Microsoft-Windows-DistributedCOM  
Event ID:      10016  
Description: The machine-default permission settings do not grant Local Activation permission for the COM Server application with CLSID  
{C2F03A33-21F5-47FA-B4BB-156362A2F239}  
and APPID  
{316CDED5-E4AE-4B15-9113-7055D84DCC97}  
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.

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  
{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.

Причина

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

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

Обходной путь

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

При желании продвинутые пользователи и ИТ-специалисты могут подавить эти события из представления в viewer event. Для этого создайте фильтр и вручную отредактировать 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 Server.
  • param5 соответствует appID.
  • param8 соответствует sid контекста безопасности.

Все они записывают в журналы событий 10016.

Дополнительные сведения о ручном построении запросов просмотра событий см. в см. в обзоре Consuming Events.

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

  • Эти ошибки не влияют на функциональные возможности
  • Изменение разрешений может иметь непредвиденные побочные эффекты.