Pred kratkim sem na svojem računalniku z operacijskim sistemom Windows 8.1, od nikoder, po namestitvi posodobitev v torek na popravek začel dobivati napake v dnevniku dogodkov. Napaka je bila povezana z porazdeljenim COM (DCOM):
kako preverim, kakšnega ovna imam
Nastavitve dovoljenj za aplikacijo ne dodelijo dovoljenja za lokalno aktivacijo za aplikacijo strežnika COM z CLSID {9E175B6D-F52A-11D8-B9A5-505054503030} in APPID {9E175B9C-F52A-11D8-B9A5-505054503030} uporabniku PCNAME Uporabniško ime SID S-1-5-21-81864976-3388411891-1937036257-1001 z naslova LocalHost (z uporabo LRPC), ki se izvaja v vsebniku aplikacije Ni na voljo SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804- 1277922394). To varnostno dovoljenje je mogoče spremeniti z uporabo skrbniškega orodja Component Services.
Zaradi tako zapletene napake lahko neizkušeni uporabniki frustrirano vržejo. Te terminologije ne poznajo. Poleg tega je odpravljanje napak DCOM bolečina, zato sem ga najprej prezrl, vendar jih je bil dnevnik dogodkov poln, saj se je pojavljal približno vsako uro. Odločen, da ga popravim, sem se odločil, da raziščem.
Oglas
Za tiste, ki ne veste, je COM Microsoftova stara objektno usmerjena medprocesna komunikacijska tehnologija. Strežnik COM je izvedljiva (EXE ali DLL), ki izvaja nabor predmetov COM. Številne komponente sistema Windows so implementirane kot predmeti COM in za medsebojno komunikacijo sledijo standardnim pravilom COM. Strežniki COM so registrirani v registru in imajo ID razreda (CLSID) in APPID.
Prvi korak pri odpravljanju te napake je bil ugotoviti, s katero komponento DCOM sta povezana CLSID in APPID. Torej zaženite urejevalnik registra in pojdite na ta registrski ključ:
HKEY_CLASSES_ROOT CLSID {9E175B6D-F52A-11D8-B9A5-505054503030}
Ta registrski ključ prav tako kaže na isti AppID kot sporočilo o napaki, ki je {9E175B9C-F52A-11D8-B9A5-505054503030}. Torej, pojdite na
HKCR APPID {9E175B9C-F52A-11D8-B9A5-505054503030}
To mi je povedalo, da je bila komponenta WSearch (objekt COM Search Windows Search).
Naslednji korak je bil temu CLSID / AppID dodeliti ustrezna dovoljenja za lokalno aktiviranje, ki jih je želel - mojega uporabniškega varnostnega ID-ja (SID) in SID aplikacije. Za to Windows ponuja orodje Component Services, ki uporabniku omogoča spreminjanje dovoljenj za zagon in aktiviranje, dovoljenj za dostop in konfiguracij na strežnikih COM.
Odprite Skrbniška orodja -> Storitve komponent. Razširite Storitve komponent -> Računalnik -> Moj računalnik -> DCOM Config. Poiščite 'WSearch' in ga kliknite z desno miškino tipko -> Properties. Pojdite na zavihek 'Varnost'.
Ko sem to storil, sem videl, da je bilo na zavihku Varnost za ta objekt COM vse zatemnjeno (onemogočeno), zato sem moral svojemu uporabniškemu računu najprej dati popolna dovoljenja v registru. Ponovno sem odprl Regedit in šel do iste tipke
HKEY_CLASSES_ROOT AppID {9E175B9C-F52A-11D8-B9A5-505054503030}
in spremenila dovoljenja. Najprej morate prevzeti lastništvo (potrdite polje »Zamenjaj lastnika na podkontejnerjih in predmetih«), nato dodajte svoje uporabniško ime in mu zagotovite popoln nadzor. Nato lahko lastništvo spremenite nazaj v prvotni račun (NT Service TrustedInstaller).
Prevzem lastništva in skrbniških dovoljenj je z Winaero izjemno enostavno RegOwnershipEx app.
Zdaj sem ponovno odprl storitve komponent (Dcomcnfg.exe) in odšel na lastnosti WSearch, zavihek Varnost in zdaj sem lahko urejal varnostna dovoljenja za dovoljenja za zagon in aktiviranje, ki so prikazana takole:
Prek varnostne skupine Vsi ima moj uporabniški račun že dovoljenja za lokalno aktivacijo, vendar so prikazani tudi 3 drugi SID-ji, ki niso znani uporabniški računi ali skupine, kot kaže njihova ikona. So Application SID in se nanašajo na Applications. V napaki dnevnika dogodkov je pisalo tudi '... izvajanje v vsebniku aplikacije Nedostopni SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394).
Zdi se, da zdaj uporabniški vmesnik izbirnika predmetov Windows ne dovoljuje dodajanja ID-jev aplikacij za glavne varnostne objekte. Po kliku na Add sem kliknil Advanced ... in nato Find Now. Tu bodo navedeni vsi predmeti. Toda večina jih je bila SID računov. Opazil sem 'VSE APLIKACIJSKE PAKETE', ki kot že ime pove, verjetno skupina vseh paketov aplikacij, zato sem ga izbral. Povsod kliknite V redu, da ga dodate, nato pa mu dodelite dovoljenja za lokalni zagon in lokalno aktivacijo.
kako skriti sporočila v
Zdaj, ko kliknete V redu in zaprete uporabniški vmesnik komponentnih storitev, napaka ni več iz dnevnika dogodkov, kar pomeni, da ima komponenta WSearch COM zdaj pravilna dovoljenja za lokalni zagon in aktivacijo.
Ta članek sem napisal kot splošno vodilo, da na podoben način pomagam drugim odpraviti napake DCOM v svojem dnevniku dogodkov. Še vedno me skrbi, zakaj Windows še nima orodja za enostavno obnovo pravilnih dovoljenj za predmete COM, če bi se zmotili.