Jak naprawić błąd identyfikatora zdarzenia DCOM 10016 w systemie Windows 10?

W dzisiejszym poście zidentyfikujemy przyczynę, a następnie przedstawimy możliwe rozwiązania problemu błędu identyfikatora zdarzenia DCOM (DistributedCOM) 10016(DCOM (DistributedCOM) Event ID 10016) , który może pojawić się w przeglądarce zdarzeń systemu Windows(Windows) podczas normalnej pracy systemu Windows 10 .

Distributed Component Object Model (DCOM) jest  integralnym aspektem komunikacji sieciowej na komputerach z systemem Windows(Windows) . Jest to zastrzeżona technologia firmy Microsoft(Microsoft) , która włącza się za każdym razem, gdy aplikacja łączy się z Internetem. Tradycyjny COM może uzyskać dostęp do informacji tylko na tym samym komputerze, podczas gdy DCOM może uzyskać dostęp do danych na zdalnych serwerach.

Na przykład wiele witryn i usług korzysta ze skryptów, które uzyskują dostęp do zdalnego serwera. Gdy system wysyła żądanie za pomocą skryptu lub w inny sposób, DCOM przekazuje żądanie do określonego obiektu skryptu. Biorąc pod uwagę, jak często nowoczesne aplikacje korzystają z połączenia sieciowego i nasze ogólne wykorzystanie komputerów, można zobaczyć, jak często używany jest model DCOM .

Błąd identyfikatora zdarzenia DCOM 10016

Błąd identyfikatora zdarzenia DCOM 10016

Możesz zauważyć poniższe zdarzenie 10016 zarejestrowane w dziennikach zdarzeń systemowych na komputerze z systemem Windows 10 , Windows Server 2016 , Windows Server 2019, Windows Server w wersji 1903 lub 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.

Zazwyczaj powyższy błąd zostanie zarejestrowany w przeglądarce zdarzeń. Warto jednak zauważyć, że istnieją odmiany błędu identyfikatora zdarzenia 10016 . (Event ID 10016)Niemniej jednak(Nevertheless) procedura łagodzenia błędu jest zasadniczo taka sama.

Błąd DCOM zwykle występuje, gdy aplikacja lub usługa próbuje użyć modelu DCOM , ale nie ma odpowiednich uprawnień. W większości przypadków błędy DCOM nie będą miały wpływu na system, z wyjątkiem zatkania Podglądu(Viewer) zdarzeń . Te zdarzenia 10016 są rejestrowane, gdy składniki firmy Microsoft(Microsoft) próbują uzyskać dostęp do składników modelu DCOM bez wymaganych uprawnień. W tym przypadku jest to oczekiwane i zgodne z projektem.

Błędy DCOM nie mają się czym martwić – możesz je spokojnie zignorować. Istnieją jednak procedury, które można wykonać, aby rozwiązać błąd o identyfikatorze zdarzenia 10016(ID 10016) za każdym razem, gdy wystąpi.

Jak rozwiązać błąd identyfikatora(ID 10016) zdarzenia DCOM 10016?(DCOM)

Aby rozwiązać ten problem, firma Microsoft(Microsoft) sugeruje utworzenie filtru XML w celu pominięcia błędu identyfikatora(ID 10016) zdarzenia DCOM 10016.(DCOM)

Oto jak:

  • Otwórz Podgląd zdarzeń(Event Viewer) ( naciśnij klawisz Windows(Press Windows) + R. W oknie dialogowym Uruchom wpisz (Run)eventvwr i naciśnij Enter).
  • Kliknij Dzienniki Windows(Windows Logs) > System .
  • Kliknij opcję  Filtruj bieżący dziennik (Filter current log ) w okienku Akcja .(Action)
  • Wybierz kartę XML i zaznacz opcję Edytuj zapytanie ręcznie(Edit query manually) .
  • Skopiuj i wklej następujący tekst XML do okna filtrowania.
<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>

W tym zapytaniu  param4  odpowiada CLSID aplikacji serwera COM(COM Server)param5  odpowiada APPID, a  param8  odpowiada kontekstowi zabezpieczeń SID , z których wszystkie są rejestrowane w dziennikach zdarzeń 10016.

  • Kliknij OK .

Wpisy błędów DCOM o (DCOM)identyfikatorze zdarzenia 10016(Event ID 10016) są teraz ukryte.

Alternatywnie możesz rozwiązać problem z uprawnieniami DCOM za pomocą (DCOM Permissions)Edytora rejestru(Registry Editor) i narzędzia DCom Config .

Oto jak:

Poprawka obejmuje modyfikację rejestru — dlatego jako środek ostrożności zaleca się wykonanie kopii zapasowej rejestru(back up the registry) lub utworzenie punktu przywracania systemu .

Aby zapobiec rejestrowaniu zdarzeń, wykonaj następujące kroki, aby udzielić uprawnień składnikom modelu DCOM , które mają określone identyfikatory CLSID(CLSIDs) i APPID(APPIDs) .

Najpierw musisz dowiedzieć się, który proces lub usługa jest skojarzona z identyfikatorem CLASS podanym(CLASS ID) w błędzie. Aby to zrobić, skopiuj identyfikator CLSID(CLSID) wymieniony w opisie zdarzenia. W tym przypadku jest to {D63B10C5-BB46-4990-A94F-E40B9D520160} . Pamiętaj, aby skopiować również oba nawiasy klamrowe.

Teraz uruchom Edytor rejestru . Po otwarciu edytora rejestru kliknij  Edytuj(Edit)  , a następnie  Znajdź(Find) . Śmiało i wklej CLSID w polu wyszukiwania i naciśnij Enter .

Rejestr rozpocznie teraz wyszukiwanie. Po pewnym czasie powinieneś otrzymać wynik pod kluczem HK_CLASSES_ROOT\CLSID  . Po prawej stronie powinien mieć dwa klucze, a  domyślny(Default) powinien zawierać nazwę usługi. W takim przypadku powinien to być RuntimeBroker .

Po zidentyfikowaniu procesu możesz teraz postępować w następujący sposób, aby naprawić błąd.

  • Mimo to w edytorze rejestru przejdź do następującego klucza AppID powiązanego z RuntimeBroker:

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

Domyślnie TrustedInstaller jest właścicielem tego klucza rejestru i jego podkluczy. Ustaw Administratora(Set Administrator) jako właściciela klucza i jego podkluczy. Zobacz  , jak przejąć na własność klucze rejestru,(how to take ownership of registry keys)  aby uzyskać więcej informacji.

  • Po ustawieniu Administratorów(Administrators)  jako właściciela, przypisz  grupę Administratorzy(Administrators)  i   konto SYSTEM , które mają uprawnienia (SYSTEM)Pełna kontrola(Full Control) do klucza i podkluczy.
  • Zamknij Edytor rejestru.

Następnie uruchom narzędzie konfiguracji DCOM(DCOM Configuration) (naciśnij klawisz Windows + R. W oknie dialogowym Uruchom wpisz (Run)dcomcnfg.exe  i naciśnij Enter.

  • Kliknij Usługi składowe(Component Services) > Komputery(Computers) > Mój(My Comput) komputer > Konfiguracja DCOM(DCOM Config) .
  • Kliknij prawym przyciskiem myszy(Right-click) aplikację odpowiadającą identyfikatorowi AppID zarejestrowanemu w dzienniku zdarzeń, a następnie wybierz opcję Właściwości(Properties) .

Nazwa aplikacji w tym przykładzie to RuntimeBroker , którą zidentyfikowaliśmy wcześniej. Jeśli narzędzie DCom Config wyświetla dwa wpisy RuntimeBroker . Aby znaleźć właściwy, kliknij element prawym przyciskiem myszy, a następnie kliknij Właściwości i dopasuj identyfikator aplikacji do identyfikatora(App ID) w rejestrze.

  • Wybierz kartę Bezpieczeństwo(Security) .
  • W obszarze Uprawnienia do uruchamiania i aktywacji(Launch and Activation Permissions) wybierz opcję Dostosuj(Customize) i kliknij opcję Edytuj(Edit) .

Jeśli przycisk Edytuj(Edit) jest wyszarzony na stronie Właściwości(Properties) aplikacji RuntimeBroker w DCOM Config , musisz zweryfikować uprawnienia klucza rejestru AppID .

  • W sekcji Nazwy grupy lub użytkownika(Group or user names) wybierz Dodaj(Add) .
  • Wprowadź(Enter) nazwę grupy lub użytkownika zapisaną w dzienniku zdarzeń. Na przykład konto zarejestrowane w dzienniku może być NT AUTHORITY\NETWORK SERVICE , NT AUTHORITY\SYSTEM lub inną grupą lub kontem.
  • Kliknij OK .
  • Przypisz uprawnienia do lokalnej aktywacji(Assign Local Activation) dla dodanego użytkownika lub grupy i zakończ proces.

Ta procedura zapobiega błędom dziennika zdarzeń Identyfikator zdarzenia(Event ID) : 10016 związany z uprawnieniami modelu DCOM .

Uwaga(Note) : firma Microsoft(Microsoft) nie zaleca metody modyfikowania uprawnień do składników DCOM , aby zapobiec rejestrowaniu tego błędu, ponieważ błędy te nie wpływają niekorzystnie na funkcjonalność, a modyfikowanie uprawnień może mieć niezamierzone skutki uboczne.

Hope this helps!



About the author

Jestem inżynierem Windows, ios, pdf, błędów, gadżetów z ponad 10-letnim doświadczeniem. Pracowałem nad wieloma wysokiej jakości aplikacjami i frameworkami Windows, takimi jak OneDrive dla Firm, Office 365 i nie tylko. Moja ostatnia praca obejmowała opracowanie czytnika PDF dla platformy Windows i pracę nad tym, aby komunikaty o błędach były bardziej zrozumiałe dla użytkowników. Dodatkowo od kilku lat jestem zaangażowany w rozwój platformy ios i dobrze znam zarówno jej funkcje, jak i dziwactwa.



Related posts