Windows Tips & News

მოვლენის ID შეცდომის 10016 გამოსწორება: DCOM სერვერს არ აქვს ლოკალური აქტივაციის ნებართვები PCNAME\Username SID-ისთვის

click fraud protection

ახლახან, ჩემს Windows 8.1 კომპიუტერზე, არსაიდან დავიწყე შეცდომების მიღება Event Log-ში, Patch Tuesday-ზე განახლებების დაყენების შემდეგ. შეცდომა დაკავშირებული იყო განაწილებულ COM-თან (DCOM):

აპლიკაციის სპეციფიკური ნებართვის პარამეტრები არ ანიჭებს ლოკალური აქტივაციის ნებართვას COM სერვერის აპლიკაციისთვის CLSID-ით {9E175B6D-F52A-11D8-B9A5-505054503030} და APPID {9E175B9C-F52A-11D8-B9A5-505054503030} მომხმარებლის PCNAME\Username SID S-1-5-21-81864976-3388411891-1937036257-1001 მისამართიდან LocalHost (LRPC გამოყენებით) გაშვებული აპლიკაციის კონტეინერში მიუწვდომელია SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394). ეს უსაფრთხოების ნებართვა შეიძლება შეიცვალოს Component Services ადმინისტრაციული ხელსაწყოს გამოყენებით.

ასეთმა რთულმა შეცდომამ შესაძლოა გამოუცდელი მომხმარებლები გააბრაზოს. ისინი არ იცნობენ ამ ტერმინოლოგიას. გარდა ამისა, DCOM შეცდომების აღმოფხვრა მტკივნეულია, ამიტომ თავიდან ვაიგნორებდი, მაგრამ მოვლენის ჟურნალი სავსე იყო მათით, რადგან ეს ხდებოდა ყოველ საათში. გადავწყვიტე გამომესწორებინა, გადავწყვიტე გამომეკვლია.

მათთვის, ვინც არ იცით, COM არის Microsoft-ის ძველი ობიექტზე ორიენტირებული პროცესთაშორისი საკომუნიკაციო ტექნოლოგია. COM სერვერი არის შესრულებადი (EXE ან DLL), რომელიც ახორციელებს COM ობიექტების კომპლექტს. Windows-ის ბევრი კომპონენტი დანერგილია როგორც COM ობიექტები და მიჰყვება სტანდარტულ COM წესებს ერთმანეთთან კომუნიკაციისთვის. COM სერვერები რეგისტრირებულია რეესტრში და აქვთ კლასის ID (CLSID) და APPID.

პირველი ნაბიჯი ამ შეცდომის აღმოსაფხვრელად იყო იმის გარკვევა, თუ რომელ DCOM კომპონენტთან იყო დაკავშირებული CLSID და APPID. ასე რომ, გახსენით რეესტრის რედაქტორი და გადადით ამ რეესტრის გასაღებზე:

HKEY_CLASSES_ROOT\CLSID\{9E175B6D-F52A-11D8-B9A5-505054503030}

ეს რეესტრის გასაღები ასევე მიუთითებს იმავე AppID-ზე, როგორც შეცდომის შეტყობინება, რომელიც არის {9E175B9C-F52A-11D8-B9A5-505054503030}. ასე რომ, შემდეგ გადადით

HKCR\APPID\{9E175B9C-F52A-11D8-B9A5-505054503030}

ამან მითხრა, რომ კომპონენტი იყო WSearch (Windows Search COM ობიექტი).

შემდეგი ნაბიჯი იყო ამ CLSID/AppID-ისთვის მინიჭება, სწორი ადგილობრივი აქტივაციის ნებართვები, რაც მას სურდა - ჩემი მომხმარებლის უსაფრთხოების ID (SID) და აპლიკაციის SID. ამისათვის Windows უზრუნველყოფს Component Services ინსტრუმენტს, რომელიც მომხმარებელს საშუალებას აძლევს შეცვალოს გაშვების და აქტივაციის ნებართვები, წვდომის ნებართვები და კონფიგურაციის ნებართვები COM სერვერებზე.

გახსენით Administrative Tools -> Component Services. გააფართოვეთ Component Services -> Computer -> My Computer -> DCOM Config. იპოვნეთ "WSearch" და დააწკაპუნეთ მასზე მარჯვენა ღილაკით -> თვისებები. გადადით "უსაფრთხოების" ჩანართზე.

ამის გაკეთების შემდეგ დავინახე, რომ ყველაფერი ნაცრისფერი იყო (გამორთული იყო) უსაფრთხოების ჩანართზე ამ COM ობიექტისთვის, ამიტომ მჭირდებოდა ჩემი მომხმარებლის ანგარიშის სრული ნებართვების მიცემა რეესტრში. ისევ გავხსენი Regedit და იმავე კლავიშზე გადავედი

HKEY_CLASSES_ROOT\AppID\{9E175B9C-F52A-11D8-B9A5-505054503030}

და შეცვალა ნებართვები. ჯერ თქვენ უნდა აიღოთ საკუთრება (მოამოწმეთ „მფლობელის ჩანაცვლება ქვეკონტეინერებსა და ობიექტებზე“), შემდეგ დაამატეთ თქვენი მომხმარებლის სახელი და მისცეთ სრული კონტროლი. ამის შემდეგ, შეგიძლიათ შეცვალოთ მფლობელობა თავდაპირველ ანგარიშზე (NT Service\TrustedInstaller).

მფლობელობის მიღება და ადმინისტრატორის ნებართვების მიცემა ძალიან მარტივია Winaero-სთან ერთად RegOwnershipEx აპლიკაცია.

ახლა ხელახლა გავხსენი Component Services (Dcomcnfg.exe) და გადავედი WSearch თვისებებზე, უსაფრთხოების ჩანართზე და ახლა შეძლო უსაფრთხოების ნებართვების რედაქტირება გაშვებისა და გააქტიურების ნებართვებზე, რომლებიც ნაჩვენებია ასე ეს:

უსაფრთხოების ჯგუფის მეშვეობით, ყველას, ჩემს მომხმარებლის ანგარიშს უკვე აქვს ლოკალური აქტივაციის ნებართვები, მაგრამ ასევე ნაჩვენებია 3 სხვა SID, რომლებიც არ არის ცნობილი მომხმარებლის ანგარიშები ან ჯგუფები, როგორც მათ ხატულაზე მიუთითებს. ეს არის განაცხადის SID და ეხება აპლიკაციებს. მოვლენის ჟურნალის შეცდომამ ასევე თქვა "... მუშაობს აპლიკაციის კონტეინერში მიუწვდომელია SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394).

ახლა Windows ობიექტის ამომრჩევი UI არ გაძლევთ საშუალებას დაამატოთ განაცხადის SID-ები უსაფრთხოების ძირითადი ობიექტებისთვის. ასე რომ, დამატებაზე დაწკაპუნების შემდეგ, მე დავაწკაპუნე Advanced... და შემდეგ იპოვე ახლა. აქ ჩამოთვლილია ყველა ობიექტი. მაგრამ მათი უმეტესობა იყო ანგარიშის SID. მე შევამჩნიე "ALL APPLICATION PACKAGES", რომელიც, როგორც სახელი გულისხმობს, ალბათ არის ჯგუფი ყველა აპლიკაციის პაკეტისთვის, ამიტომ ავირჩიე იგი. დააწკაპუნეთ OK ყველგან მის დასამატებლად და შემდეგ მიეცით ლოკალური გაშვების და ლოკალური აქტივაციის ნებართვები.

ახლა OK-ზე დაწკაპუნებით და Component Services UI-ის დახურვის შემდეგ, შეცდომა გაქრა მოვლენის ჟურნალიდან, რაც ნიშნავს, რომ WSearch COM კომპონენტს ახლა აქვს სწორი ადგილობრივი გაშვების და აქტივაციის ნებართვები.

მე დავწერე ეს სტატია, როგორც ზოგადი გზამკვლევი, რათა დავეხმარო ვინმეს მსგავსი გზით აღმოფხვრას DCOM შეცდომები მათ Event Log-ში. მე ჯერ კიდევ მაწუხებს, რატომ არ აქვს Windows-ს ჯერ კიდევ ინსტრუმენტი, რომ ადვილად აღადგინოს სწორი ნებართვები COM ობიექტებზე, თუ ისინი არეულობენ.

როგორ ჩართოთ OpenSSH სერვერი Windows 10-ში

როგორ ჩართოთ OpenSSH სერვერი Windows 10-ში

როგორც უკვე იცით, Windows 10 მოიცავს ჩაშენებულ SSH პროგრამულ უზრუნველყოფას - კლიენტსაც და სერვერს...

Წაიკითხე მეტი

იპოვეთ დიდი ფაილები Windows 10-ში მესამე მხარის ხელსაწყოების გარეშე

იპოვეთ დიდი ფაილები Windows 10-ში მესამე მხარის ხელსაწყოების გარეშე

ადრე დავწერე, როგორ მოვძებნო ყველაზე დიდი ფაილი და დირექტორია Linux-ში. დღეს მინდა შემოგთავაზოთ გ...

Წაიკითხე მეტი

ჩამოტვირთვების გასუფთავება Storage Sense-ით და Cleanmgr Windows 10-ში

ჩამოტვირთვების გასუფთავება Storage Sense-ით და Cleanmgr Windows 10-ში

რეკომენდირებულია: დააწკაპუნეთ აქ Windows-ის პრობლემების მოსაგვარებლად და სისტემის მუშაობის ოპტიმი...

Წაიკითხე მეტი