DCOM Ereignis 10016 auf Windows per Script fixen

Das eigentliche Problem ist älter, aber mit Windows 10 leider immer noch nicht beseitigt: die Ereignisanzeige meldet nach jedem Systemstart ein oder mehrere Events mit der ID 10016 und einem seltsamen Fehler aus Richtung DCOM.

Unbenannt

Auch wenn die Meldung keinerlei merkbare Auswirkungen hat, ist es doch merkwürdig, dass hier immer wieder solche Meldungen auftauchen.

Genauso lange wie den Fehler gibt es auch schon verschiedene Anleitungen, wie man ihn beseitigen kann. Kurz gesagt, man setzt ein paar Registry-Berechtigungen und gibt dann in der DCOM Konfiguration dem Nutzer “Lokaler Dienst” die Rechte zum Ausführen.

Das kann man machen, aber spätestens, wenn man die gleiche Meldung auf dutzenden PCs oder mehr hat, ist das nicht mehr praktikabel. Ein Script muss her!

Ich habe einige vorhandene Scripte bzw. Teile daraus genutzt, die sich im Netz auf verschiedenen Seiten finden, da man das Rad ja nicht ständig neu erfinden muss. Zudem ist das Script nicht wirklich “schön”. Es gibt z.B. keine Fehlerbehandlung. Getestet wurde bisher auch nur auf wenigen PCs. Ich garantiere also für nichts.

Nutzung

Das Script in einen Ordner entpacken, dann eine Powershell mit lokalen Adminrechten starten und das Script aus diesem Ordner aufrufen. Dabei aus der Ereignismeldung die dort genannte CLSID und AppID als Parameter dem Script übergeben. Wichtig: die Anführungszeichen bitte nicht vergessen!

Für die Meldung aus dem Screenshot oben sieht der Aufruf dann also so aus:

.\FixDCOM.ps1 „{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}“ „{4839DDB7-58C2-48F5-8283-E1D1807D0D7D}“

Das Blog bricht das hier um, in der Powershell muss natürlich alles in eine Zeile. Falls mehrere Meldungen mit unterschiedlichen IDs gemeldet werden, ist ein Aufruf für jede neue ID notwendig.

Das Script kann außerdem per GPO als Systemstartscript ausgeführt werden, um eine größere Anzahl von Rechnern zu beackern.

Falls die Powershell die Ausführung des Scripts verweigert, ist beim Heimnutzer noch die Ausführung von Scripten überhaupt zu erlauben. Hierzu ist in der als Admin gestarteten Powershell einmalig dies einzugeben:

Set-ExecutionPolicy -ExecutionPolicy unrestricted

Für die Ausführung per GPO empfiehlt sich, das Script mit den eigenen Zertifikaten zu signieren, so denn eine eigene CA oder öffentliche Codesigning-Zertifikate zur Verfügung stehen.

Ich freue mich über Kommentare zu Erfolg oder Misserfolg.


Download

Das Script steht hier zum Download bereit.

Systemvoraussetzungen

Das Script erwartet Powershell 4.0 oder aktueller.
Es wurde ausschließlich auf Windows 10 entwickelt und getestet.

Vermutlich wird es auf älteren Windows Versionen genauso funktionieren.

Quellenverzeichnis

http://www.leeholmes.com/blog/2010/09/24/adjusting-token-privileges-in-powershell/
https://gallery.technet.microsoft.com/Set-DCOM-ACL-with-650fa48d
https://powertoe.wordpress.com/2010/08/28/controlling-registry-acl-permissions-with-powershell/

Advertisements
Dieser Beitrag wurde unter Allgemein veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Eine Antwort zu DCOM Ereignis 10016 auf Windows per Script fixen

  1. Martin schreibt:

    Vielen Dank!

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s