Recent, pe computerul meu Windows 8.1, de nicăieri, am început să primesc erori în Jurnalul de evenimente după ce am instalat actualizări pe Patch Tuesday. Eroarea a fost legată de Distributed COM (DCOM):
cum se adaugă spoiler în discordie
Setările de permisiune specifice aplicației nu acordă permisiunea de activare locală pentru aplicația COM Server cu CLSID {9E175B6D-F52A-11D8-B9A5-505054503030} și APPID {9E175B9C-F52A-11D8-B9A5-505054503030} utilizatorului PCNAME Username SID S-1-5-21-81864976-3388411891-1937036257-1001 de la adresa LocalHost (folosind LRPC) care rulează în containerul aplicației SID indisponibil (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804- 1277922394). Această permisiune de securitate poate fi modificată utilizând instrumentul administrativ Component Services.
O astfel de eroare complicată ar putea face ca utilizatorii fără experiență să se rănească. Nu sunt familiarizați cu această terminologie. În plus, depanarea erorilor DCOM este o durere, așa că am ignorat-o la început, dar jurnalul de evenimente era plin de ele, deoarece a apărut la fiecare oră sau cam așa ceva. Hotărât să o rezolv, am decis să investighez.
Reclama
Pentru aceia dintre voi care nu știu, COM este vechea tehnologie de comunicare inter-proces orientată pe obiecte a Microsoft. Un server COM este un executabil (EXE sau DLL) care implementează un set de obiecte COM. Multe componente Windows sunt implementate ca obiecte COM și respectă regulile COM standard pentru a comunica între ele. Serverele COM sunt înregistrate în registru și au un ID de clasă (CLSID) și un APPID.
Primul pas pentru depanarea acestei erori a fost să aflăm cu ce componentă DCOM au fost legate CLSID și APPID. Deci, deschideți Editorul de registru și accesați această cheie de registru:
HKEY_CLASSES_ROOT CLSID {9E175B6D-F52A-11D8-B9A5-505054503030}
Această cheie de registru indică, de asemenea, același ID App ca mesajul de eroare care este {9E175B9C-F52A-11D8-B9A5-505054503030}. Deci, urmează
HKCR APPID {9E175B9C-F52A-11D8-B9A5-505054503030}
Acest lucru mi-a spus că componenta era WSearch (un obiect Windows Search COM).
Următorul pas a fost să atribui acestui CLSID / AppID, permisiunile corecte de activare locală pe care le dorea - ale ID-ului de securitate al utilizatorului meu (SID) și al SID-ului aplicației. Pentru a face acest lucru, Windows oferă un instrument de servicii componente care permite utilizatorului să modifice permisiunile de lansare și activare, permisiunile de acces și permisiunile de configurare pe serverele COM.
Deschideți Instrumente administrative -> Servicii componente. Extindeți Component Services -> Computer -> Computerul meu -> DCOM Config. Găsiți „Căutare W” și faceți clic dreapta pe el -> Proprietăți. Accesați fila „Securitate”.
După ce am făcut acest lucru, am văzut că totul era grey-out (dezactivat) în fila Securitate pentru acest obiect COM, așa că trebuia să dau mai întâi permisiunea completă contului meu de utilizator în registru. Am deschis din nou Regedit și am mers la aceeași cheie
HKEY_CLASSES_ROOT AppID {9E175B9C-F52A-11D8-B9A5-505054503030}
și a schimbat permisiunile. Mai întâi trebuie să dețineți proprietatea (bifați „Înlocuiți proprietarul pe subcontainere și obiecte”), apoi adăugați numele dvs. de utilizator și dați-i controlul complet. Apoi, puteți schimba proprietatea înapoi la contul original (NT Service TrustedInstaller).
Preluarea dreptului de proprietate și acordarea permisiunilor de administrator este extrem de ușor cu Winaero's RegOwnershipEx aplicație.
Acum am redeschis Serviciile componente (Dcomcnfg.exe) și m-am dus la proprietățile WSearch, fila Securitate și am putut edita acum permisiunile de securitate la permisiunile de lansare și activare, care sunt afișate astfel:
Prin intermediul grupului de securitate Toată lumea, contul meu de utilizator are deja permisiuni de activare locală, dar sunt afișate și alte 3 SID-uri care nu sunt conturi de utilizator sau grupuri cunoscute, așa cum indică pictograma lor. Acestea sunt SID-uri pentru aplicații și se referă la Aplicații. Eroarea jurnalului de evenimente a mai spus „... rulează în containerul aplicației SID indisponibil (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394).
Acum, interfața de utilizare a selectorului de obiecte Windows nu pare să vă permită să adăugați SID-urile aplicației pentru obiectele principale de securitate. Deci, după ce am făcut clic pe Adăugare, am făcut clic pe Avansat ... și apoi pe Găsiți acum. Aceasta va lista toate obiectele. Dar majoritatea erau SID-uri de cont. Am observat „TOATE PACHETELE DE APLICARE” care, după cum sugerează și numele, este probabil un grup pentru toate pachetele de aplicații, așa că l-am selectat. Faceți clic pe OK peste tot pentru a-l adăuga și apoi acordați-i permisiunile de lansare locală și activare locală.
cum să minimizezi YouTube pe iPhone
Acum, când faceți clic pe OK și închideți interfața de utilizare a serviciilor componente, eroarea a dispărut din jurnalul de evenimente, ceea ce înseamnă că componenta COM WSearch are acum permisiunile corecte de lansare și activare locală.
Am scris acest articol ca ghid general pentru a ajuta pe oricine altcineva să depaneze erorile DCOM în jurnalul de evenimente în mod similar. Sunt încă îngrijorat de ce Windows nu are încă un instrument pentru a restabili cu ușurință permisiunile corecte pentru obiectele COM în cazul în care acestea sunt încurcate.