Nedávno som na svojom počítači so systémom Windows 8.1 z ničoho nič začal po nainštalovaní aktualizácií v Patch Tuesday dostávať chyby v denníku udalostí. Chyba sa týkala distribuovaného modelu COM (DCOM):
odliate z chrómu do ohnivej televízie
Nastavenia povolení pre konkrétnu aplikáciu neudeľujú povolenie miestnej aktivácie pre aplikáciu servera COM s CLSID {9E175B6D-F52A-11D8-B9A5-505054503030} a APPID {9E175B9C-F52A-11D8-B9A5-505054503030} používateľovi PCNAME Username SID S-1-5-21-81864976-3388411891-1937036257-1001 z adresy LocalHost (pomocou LRPC) spustenej v kontajneri aplikácie Nedostupný SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804- 1277922394). Toto bezpečnostné povolenie je možné upraviť pomocou správcovského nástroja Component Services.
Takáto komplikovaná chyba môže spôsobiť, že neskúsení používatelia budú frustrovaní. Táto terminológia im nie je známa. Navyše, riešenie problémov s DCOM je utrpenie, takže som to najskôr ignoroval, ale protokol udalostí ich bol plný, pretože k nim dochádzalo zhruba každú hodinu. Rozhodnutý to napraviť som sa rozhodol prešetriť.
Inzerát
Pre tých z vás, ktorí to nevedia, je COM stará objektovo orientovaná medziprocesová komunikačná technológia spoločnosti Microsoft. Server COM je spustiteľný súbor (EXE alebo DLL), ktorý implementuje množinu objektov COM. Mnoho komponentov systému Windows je implementovaných ako objekty COM a pri vzájomnej komunikácii sa riadia štandardnými pravidlami COM. Servery COM sú registrované v registri a majú ID triedy (CLSID) a APPID.
Prvým krokom pri riešení tejto chyby bolo zistenie, s ktorým komponentom DCOM súviseli CLSID a APPID. Spustite teda editor databázy Registry a prejdite na tento kľúč databázy Registry:
HKEY_CLASSES_ROOT CLSID {9E175B6D-F52A-11D8-B9A5-505054503030}
Tento kľúč registra tiež odkazuje na rovnaké AppID ako chybové hlásenie, ktorým je {9E175B9C-F52A-11D8-B9A5-505054503030}. Takže, choďte ďalej na
HKCR APPID {9E175B9C-F52A-11D8-B9A5-505054503030}
Toto mi povedalo, že komponentom bol WSearch (objekt Windows Search COM).
Ďalším krokom bolo priradiť tomuto identifikátoru CLSID / AppID správne miestne aktivačné povolenia, ktoré požadoval - môjho bezpečnostného identifikátora používateľa (SID) a identifikátora SID aplikácie. Za týmto účelom poskytuje systém Windows nástroj Component Services, ktorý umožňuje používateľovi meniť povolenia na spustenie a aktiváciu, prístupové práva a konfiguračné povolenia na serveroch COM.
Otvorte Nástroje na správu -> Služby komponentov. Rozbaľte Služby komponentov -> Počítač -> Tento počítač -> Konfigurácia DCOM. Vyhľadajte „WSearch“ a kliknite na ňu pravým tlačidlom myši -> Vlastnosti. Prejdite na kartu Zabezpečenie.
Keď som to urobil, uvidel som, že na karte Zabezpečenie tohto objektu COM bolo všetko sivé (zakázané), takže som najskôr musel dať svojmu používateľskému účtu úplné povolenia v databáze Registry. Znovu som otvoril program Regedit a prešiel k rovnakému kľúču
HKEY_CLASSES_ROOT AppID {9E175B9C-F52A-11D8-B9A5-505054503030}
a zmenil povolenia. Najprv musíte prevziať vlastníctvo (začiarknite políčko „Nahradiť vlastníka u subkontinentov a objektov“), potom pridajte svoje používateľské meno a dajte mu úplnú kontrolu. Potom môžete zmeniť vlastníctvo späť na pôvodný účet (NT Service TrustedInstaller).
Preberanie vlastníctva a udeľovanie správcovských povolení je u spoločnosti Winaero mimoriadne jednoduché RegOwnershipEx aplikácia
Teraz som znova otvoril službu Component Services (Dcomcnfg.exe) a prešiel na vlastnosti WSearch na karte Zabezpečenie. Teraz som mohol upravovať bezpečnostné povolenia v povolení na spustenie a aktiváciu, ktoré sú zobrazené takto:
Prostredníctvom skupiny zabezpečenia Všetci má môj používateľský účet už oprávnenie na miestnu aktiváciu, sú však zobrazené aj ďalšie 3 SID, ktoré nie sú známymi používateľskými účtami alebo skupinami, ako naznačuje ich ikona. Sú to identifikátory SID aplikácie a odkazujú na aplikácie. Chyba protokolu udalostí tiež uviedla „... spustené v kontajneri aplikácie Nedostupné SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394).
Zdá sa, že používateľské rozhranie nástroja na výber objektov systému Windows vám neumožňuje pridávať identifikátory SID aplikácie pre hlavné objekty zabezpečenia. Takže po kliknutí na Pridať som klikol na Rozšírené ... a potom na Nájsť teraz. Zobrazí sa zoznam všetkých objektov. Ale väčšinou išlo o SID účtu. Všimol som si „VŠETKY APLIKAČNÉ BALÍČKY“, ktoré ako už z názvu vyplýva, je pravdepodobne skupina pre všetky aplikačné balíčky, tak som ich vybral. Kliknite všade na OK, aby ste ju pridali, a potom jej udelte povolenia na miestne spustenie a miestnu aktiváciu.
priečinok na stiahnutie disku Google bez zipu -
Po kliknutí na tlačidlo OK a zatvorení používateľského rozhrania služby komponentov je chyba z protokolu udalostí preč, čo znamená, že komponent WSearch COM má teraz správne miestne povolenie na spustenie a aktiváciu.
Tento článok som napísal ako všeobecnú príručku, ktorá má pomôcť niekomu ďalšiemu pri riešení problémov s DCOM v denníku udalostí podobným spôsobom. Stále ma znepokojuje, prečo Windows ešte nemajú nástroj na ľahké obnovenie správnych povolení k objektom COM v prípade, že sa pokazia.