Vor kurzem habe ich auf meinem Windows 8.1-PC aus dem Nichts Fehler im Ereignisprotokoll erhalten, nachdem ich an einem Patch-Dienstag Updates installiert hatte. Der Fehler hing mit Distributed COM (DCOM) zusammen:
Windows 10 Menü lässt sich nicht öffnen
Die anwendungsspezifischen Berechtigungseinstellungen gewähren dem Benutzer PCNAME Benutzername keine lokale Aktivierungsberechtigung für die COM Server-Anwendung mit CLSID {9E175B6D-F52A-11D8-B9A5-505054503030} und APPID {9E175B9C-F52A-11D8-B9A5-505054503030} S-1-5-21-81864976-3388411891-1937036257-1001 von der Adresse LocalHost (Verwenden von LRPC), die im Anwendungscontainer ausgeführt wird Nicht verfügbare SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804- 1277922394). Diese Sicherheitsberechtigung kann mit dem Verwaltungstool Component Services geändert werden.
Solch ein komplizierter Fehler kann dazu führen, dass unerfahrene Benutzer frustriert sind. Sie sind mit dieser Terminologie nicht vertraut. Außerdem ist die Fehlerbehebung bei DCOM-Fehlern ein Problem, daher habe ich sie zunächst ignoriert, aber das Ereignisprotokoll war voll davon, da es ungefähr jede Stunde auftrat. Entschlossen, das Problem zu beheben, beschloss ich, es zu untersuchen.
Werbung
Für diejenigen unter Ihnen, die es nicht wissen, ist COM die alte objektorientierte Kommunikationstechnologie zwischen Prozessen von Microsoft. Ein COM-Server ist eine ausführbare Datei (EXE oder DLL), die eine Reihe von COM-Objekten implementiert. Viele Windows-Komponenten sind als COM-Objekte implementiert und folgen den Standard-COM-Regeln, um miteinander zu kommunizieren. COM-Server sind in der Registrierung registriert und haben eine Klassen-ID (CLSID) und eine APPID.
Der erste Schritt zur Behebung dieses Fehlers bestand darin, herauszufinden, auf welche DCOM-Komponente die CLSID und die APPID bezogen waren. Starten Sie also den Registrierungseditor und gehen Sie zu diesem Registrierungsschlüssel:
HKEY_CLASSES_ROOT CLSID {9E175B6D-F52A-11D8-B9A5-505054503030}
Dieser Registrierungsschlüssel verweist auch auf dieselbe AppID wie die Fehlermeldung {9E175B9C-F52A-11D8-B9A5-505054503030}. Also, als nächstes gehe zu
HKCR APPID {9E175B9C-F52A-11D8-B9A5-505054503030}
Dies sagte mir, dass die Komponente WSearch war (ein Windows Search COM-Objekt).
Der nächste Schritt bestand darin, dieser CLSID / AppID die richtigen lokalen Aktivierungsberechtigungen zuzuweisen, die sie wollte - meiner Benutzersicherheits-ID (SID) und der App-SID. Zu diesem Zweck bietet Windows ein Tool für Komponentendienste an, mit dem der Benutzer Start- und Aktivierungsberechtigungen, Zugriffsberechtigungen und Konfigurationsberechtigungen auf COM-Servern ändern kann.
Öffnen Sie Verwaltung -> Komponentendienste. Erweitern Sie Komponentendienste -> Computer -> Arbeitsplatz -> DCOM-Konfiguration. Suchen Sie 'WSearch' und klicken Sie mit der rechten Maustaste darauf -> Eigenschaften. Gehen Sie zur Registerkarte 'Sicherheit'.
Dabei stellte ich fest, dass auf der Registerkarte Sicherheit für dieses COM-Objekt alles ausgegraut (deaktiviert) war, sodass ich meinem Benutzerkonto zuerst die vollständigen Berechtigungen in der Registrierung erteilen musste. Ich öffnete Regedit erneut und ging zum selben Schlüssel
HKEY_CLASSES_ROOT AppID {9E175B9C-F52A-11D8-B9A5-505054503030}
und änderte die Berechtigungen. Zuerst müssen Sie den Eigentümer übernehmen (aktivieren Sie 'Eigentümer bei Untercontainern und Objekten ersetzen'), dann Ihren Benutzernamen hinzufügen und ihm die volle Kontrolle geben. Anschließend können Sie den Besitz wieder auf das ursprüngliche Konto (NT Service TrustedInstaller) ändern.
Mit Winaero's ist es extrem einfach, Eigentümer zu werden und Administratorrechte zu erteilen RegOwnershipEx App.
Jetzt habe ich die Komponentendienste (Dcomcnfg.exe) erneut geöffnet und bin zu den WSearch-Eigenschaften auf der Registerkarte Sicherheit gegangen. Jetzt konnte ich die Sicherheitsberechtigungen für Start- und Aktivierungsberechtigungen bearbeiten, die wie folgt angezeigt werden:
Über die Sicherheitsgruppe Jeder hat mein Benutzerkonto bereits lokale Aktivierungsberechtigungen, es werden jedoch auch 3 andere SIDs angezeigt, bei denen es sich nicht um bekannte Benutzerkonten oder -gruppen handelt, wie das Symbol anzeigt. Sie sind Anwendungs-SIDs und beziehen sich auf Anwendungen. Der Ereignisprotokollfehler lautete außerdem '... wird im Anwendungscontainer ausgeführt. Nicht verfügbare SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394).
Auf der Benutzeroberfläche der Windows-Objektauswahl können Sie anscheinend keine Anwendungs-SIDs für Sicherheitsprinzipalobjekte hinzufügen. Nachdem ich auf Hinzufügen geklickt hatte, klickte ich auf Erweitert ... und dann auf Jetzt suchen. Dadurch werden alle Objekte aufgelistet. Aber die meisten von ihnen waren Konto-SIDs. Ich habe festgestellt, dass 'ALLE ANWENDUNGSPAKETE', wie der Name schon sagt, wahrscheinlich eine Gruppe für alle Anwendungspakete ist, also habe ich sie ausgewählt. Klicken Sie überall auf OK, um es hinzuzufügen, und geben Sie ihm dann die Berechtigungen für den lokalen Start und die lokale Aktivierung.
Wie bekomme ich Questkarten Hearthstone
Wenn Sie nun auf OK klicken und die Benutzeroberfläche der Komponentendienste schließen, wird der Fehler aus dem Ereignisprotokoll entfernt. Dies bedeutet, dass die WSearch COM-Komponente jetzt über die richtigen lokalen Start- und Aktivierungsberechtigungen verfügt.
Ich habe diesen Artikel als allgemeine Anleitung geschrieben, um anderen Personen bei der Behebung von DCOM-Fehlern in ihrem Ereignisprotokoll auf ähnliche Weise zu helfen. Ich bin immer noch besorgt, warum Windows noch kein Tool hat, mit dem die korrekten Berechtigungen für COM-Objekte einfach wiederhergestellt werden können, falls sie durcheinander geraten.