Chyba 10016 DistributedCOM v povoleniach systému Windows pre danú aplikáciu neposkytuje povolenia na lokálnu aktiváciu

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ť.
  1. Spustite editor databázy Registry (regedit.exe);
  2. 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..
  3. 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
  4. Kliknite pravým tlačidlom myši na kľúč databázy Registry a vyberte položku Povolenia;
  5. Kliknite na tlačidlo pokročilé;
  6. V časti vlastník (Majiteľ) bude označený Služba NT \ TrustedInstaller alebo systém;
  7. Stlačte tlačidlo zmena a zadajte názov svojho účtu správcu. Uložte zmeny;
  8. 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“;
  9. V zozname oprávnení pridajte účet správcu a poskytnite mu úplný prístup (úplné povolenia);
  10. 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;
  11. 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);
  12. 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
  13. 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.
  14. 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ť;
  15. 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..
  16. Udelte požadované povolenia pre účet. Napríklad miestna aktivácia -> Povoliť a miestne spustenie -> Povoliť;
  17. Reštartujte počítač a skontrolujte protokoly udalostí. Chyba DCOM 10016 by mala ísť preč.