V tejto poznámke ukážem, ako opraviť chybu c. ID udalosti 10016 zo zdroja DistributedCOM v počítači so systémom Windows 10 / Windows Server 2012 R2. Chyba DCOM 10016 je v klientskych aj serverových verziách systému Windows celkom bežná, počnúc časom systému Windows XP a je opravená rovnakým spôsobom bez ohľadu na verziu systému Windows..
Problém sa prejavuje nasledovne: v denníku systémových udalostí sa pri spustení počítača alebo pri pokuse o spustenie / inštaláciu aplikácie objaví nasledujúca chyba:
Názov denníka: Systém
zdroj: DistributedCOM
ID udalosti: 10016
hladina: Chyba
užívateľ: SYSTEM
popis: Nastavenia povolení pre konkrétne aplikácie nedávajú povolenie na lokálne spustenie pre serverovú aplikáciu COM s CLSID 1CCB96F4-B8AD-4B43-9688-B273F58E0910 a APPID AD65A69D-3831-40D7-9629-9B0B50A93843 NT AUTHORITY \ system with SID ( S-1-5-18) a adresu LocalHost (pomocou LRPC). Toto bezpečnostné povolenie sa dá zmeniť pomocou obslužného programu Component Services Management Utility..
V anglických verziách systému Windows je popis chyby:
Predvolené nastavenia povolení počítača neudelia povolenie na miestnu aktiváciu pre aplikáciu COM Server s CLSID
000209FF-0000-0000-C000-00000000000046 a APPID nedostupné pre používateľa IIS APPPOOL \ appIISPool SID (S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824) z adresy LocalHost (pomocou LRPC) kontajner aplikácie Unavailable SID (Unavailable). Toto oprávnenie zabezpečenia možno zmeniť pomocou administratívneho nástroja Component Services.
Posúdenie podľa popisu chyby: určitý užívateľ (napríklad IIS Apppool) alebo systém (NT AUTHORITY \ system) sa pokúša spustiť určitú súčasť COM pomocou infraštruktúry DCOM a nemôže to urobiť z dôvodu absencie práva na miestne spustenie alebo miestnu aktiváciu ( Povolenie na miestnu aktiváciu). Kód chyby obsahuje iba kódy triedy súčasti COM a aplikácie. Pokúsme sa určiť, do ktorej aplikácie identifikátor patrí, a poskytnúť práva potrebné na jej spustenie.
Skopírujte CLSID a APPID z popisu udalosti. V mojom prípade to tak je
CLSID: 000209FF-0000-0000-C000-000000000046
APPID: AD65A69D-3831-40D7-9629-9B0B50A93843
(v niektorých prípadoch nemusí byť uvedený identifikátor aplikácie - APPID nie je k dispozícii).
Venujte pozornosť aj tomu, ktoré povolenia chýbajú (povolenie na miestnu aktiváciu) a pre ktorý účet (SID AUTORSKÉHO SYSTÉMU alebo SYSTÉMU IIS APPPOOL \ appIISPool - S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824).
V každom prípade sa identifikátory triedy, aplikácie, účtu a typu prístupu môžu líšiť.- Spustite editor databázy Registry (regedit.exe);
- Prejdite do vetvy registra, ktorá zodpovedá vášmu CLSID. Mám to HKEY_CLASSES_ROOT \ CLSID \000209FF-0000-0000-C000-000000000046; V niektorých prípadoch je tiež potrebné vyhľadať kľúč databázy Registry [HKEY_CLASSES_ROOT \ Wow6432Node \ CLSID \. Keď sa vzdialene pripájate k registru, bude umiestnený v sekcii HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ AppID..
- Parameter triedy musí mať názov. Mám túto aplikáciu Microsoft Word, najčastejšie sa tento problém vyskytuje s komponentmi:
Ponorný plášť
CLSID: C2F03A33-21F5-47FA-B4BB-156362A2F239
APPID: 316CDED5-E4AE-4B15-9113-7055D84DCC97
Runtime broker
CLSID: D63B10C5-BB46-4990-A94F-E40B9D520160
APPID: 9CA88EE3-ACB7-47C8-AFC4-AB702511C276 - Kliknite pravým tlačidlom myši na kľúč databázy Registry a vyberte položku Povolenia;
- Kliknite na tlačidlo pokročilé;
- V časti vlastník (Majiteľ) bude označený Služba NT \ TrustedInstaller alebo systém;
- Stlačte tlačidlo zmena a zadajte názov svojho účtu správcu. Uložte zmeny;
- Upozorňujeme, že meno vlastníka pobočky sa zmenilo na váš účet. Dajte čeľusť Vymeňte vlastníka na subkontejneroch a objektoch (Vymeňte vlastníka subdodávateľov a predmetov) a kliknite na „OK“;
- V zozname oprávnení pridajte účet správcu a poskytnite mu úplný prístup (úplné povolenia);
- Poskytli ste práva na pobočku pomocou CLSID. Teraz je potrebné zopakovať predchádzajúce kroky a poskytnúť správcovskému účtu práva na vetvu s vaším APPID z chybového textu (napríklad, HKEY_CLASSES_ROOT \ AppID \AD65A69D-3831-40D7-9629-9B0B50A93843;
- Teraz spustite konzolu správy komponentov dcomcnfg s právami správcu (Ovládací panel \ Všetky položky ovládacieho panela \ Nástroje na správu \ Služby komponentov);
- V konzole komponentov choďte do vetvy Komponentové služby -> Počítače -> Môj počítač -> Konfigurácia DCOM. V zozname komponentov nájdite názov komponentu, ktorý ste definovali v druhom kroku (hodnota v stĺpci ID aplikácie by sa mala zhodovať s chybovým identifikátorom CLSID). Vlastnosti otvorených komponentov; Ak nemôžete nájsť svoj komponent v zozname, pravdepodobne máte 64-bitovú verziu systému Windows a spustená súčasť je 32-bitová. V takom prípade musíte spustiť konzolu DCOM príkazom:
mmc comexp.msc / 32
- Prejdite na kartu zabezpečenia. Všetky ovládacie prvky musia byť upraviteľné; Ak otvoríte konzolu dcomcnfg pred zmenou povolení vo vetve registra, všetky nastavenia na karte Zabezpečenie budú zablokované (nie je možné ich zmeniť) napriek skutočnosti, že ste konzolu spustili ako správca.
- V mojom prípade žiadosť nemala dostatočné práva na povolenie na miestnu aktiváciu. V časti Povolenia na spustenie a aktiváciu vyberte Prispôsobiť a kliknite na tlačidlo Upraviť;
- Do prístupového zoznamu musíte pridať účet, ktorý nemá oprávnenie na spustenie. Názov účtu bol uvedený v texte chyby: v závislosti od textu v chybe DCOM 10016 to môže byť systém, konkrétny používateľ alebo účet, pod ktorým je spustená oblasť IIS (v tomto prípade musíte pridať prístup pre miestnu skupinu IIS_IUSR).rada. Ak ste v úvodnom protokole chýb zadali NT AUTHORITY \ NETWORK SERVICE namiesto NT AUTHORITY \ system, musíte pre účet NetworkService prideliť miestne práva na spustenie a aktiváciu..
- Udelte požadované povolenia pre účet. Napríklad miestna aktivácia -> Povoliť a miestne spustenie -> Povoliť;
- Reštartujte počítač a skontrolujte protokoly udalostí. Chyba DCOM 10016 by mala ísť preč.