इवेंट आईडी त्रुटि 10016 के लिए ठीक करें: DCOM सर्वर में PCNAME\Username SID के लिए स्थानीय सक्रियण अनुमतियाँ नहीं हैं
हाल ही में, मेरे विंडोज 8.1 पीसी पर, कहीं से भी, मुझे पैच मंगलवार को अपडेट इंस्टॉल करने के बाद इवेंट लॉग में त्रुटियां होने लगीं। त्रुटि वितरित COM (DCOM) से संबंधित थी:
अनुप्रयोग-विशिष्ट अनुमति सेटिंग्स CLSID के साथ COM सर्वर अनुप्रयोग के लिए स्थानीय सक्रियण अनुमति नहीं देती हैं {9E175B6D-F52A-11D8-B9A5-505054503030} और APPID {9E175B9C-F52A-11D8-B9A5-505054503030} उपयोगकर्ता PCNAME\उपयोगकर्ता नाम SID को S-1-5-21-81864976-3388411891-1937036257-1001 पते से लोकलहोस्ट (LRPC का उपयोग करके) एप्लिकेशन कंटेनर में चल रहा है अनुपलब्ध SID (एस-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394)। इस सुरक्षा अनुमति को कंपोनेंट सर्विसेज एडमिनिस्ट्रेटिव टूल का उपयोग करके संशोधित किया जा सकता है।
इस तरह की एक जटिल त्रुटि अनुभवहीन उपयोगकर्ताओं को निराशा में डाल सकती है। वे इस शब्दावली से अपरिचित हैं। इसके अलावा, डीसीओएम त्रुटियों का निवारण एक दर्द है इसलिए मैंने इसे पहले अनदेखा कर दिया लेकिन इवेंट लॉग उनमें से भरा हुआ था क्योंकि यह हर घंटे या उससे भी ज्यादा होता था। इसे ठीक करने के लिए दृढ़ संकल्प, मैंने जांच करने का फैसला किया।
विज्ञापन
आप में से जो लोग नहीं जानते हैं, उनके लिए COM माइक्रोसॉफ्ट की पुरानी ऑब्जेक्ट-ओरिएंटेड इंटर-प्रोसेस कम्युनिकेशन टेक्नोलॉजी है। एक COM सर्वर एक निष्पादन योग्य (EXE या DLL) है जो COM ऑब्जेक्ट्स के एक सेट को लागू करता है। कई विंडोज़ घटकों को COM ऑब्जेक्ट के रूप में कार्यान्वित किया जाता है और एक दूसरे के साथ संचार करने के लिए मानक COM नियमों का पालन करते हैं। COM सर्वर रजिस्ट्री में पंजीकृत हैं और उनमें एक क्लास आईडी (CLSID) और एक APPID है।
इस त्रुटि के निवारण के लिए पहला कदम यह पता लगाना था कि CLSID और APPID किस DCOM घटक से संबंधित हैं। तो रजिस्ट्री संपादक को सक्रिय करें और इस रजिस्ट्री कुंजी पर जाएं:
HKEY_CLASSES_ROOT\CLSID\{9E175B6D-F52A-11D8-B9A5-505054503030}
यह रजिस्ट्री कुंजी भी त्रुटि संदेश के समान AppID की ओर इशारा करती है जो {9E175B9C-F52A-11D8-B9A5-505054503030} है। तो, आगे जाएँ
HKCR\APPID\{9E175B9C-F52A-11D8-B9A5-505054503030}
इसने मुझे बताया कि घटक WSearch (एक Windows खोज COM ऑब्जेक्ट) था।
अगला कदम इस CLSID/AppID को असाइन करना था, सही स्थानीय सक्रियण अनुमतियाँ जो वह चाहता था - मेरी उपयोगकर्ता सुरक्षा आईडी (SID) और ऐप SID की। ऐसा करने के लिए, विंडोज एक घटक सेवा उपकरण प्रदान करता है जो उपयोगकर्ता को COM सर्वर पर लॉन्च और सक्रियण अनुमतियों, एक्सेस अनुमतियों और कॉन्फ़िगरेशन अनुमतियों को संशोधित करने देता है।
प्रशासनिक उपकरण खोलें -> घटक सेवाएँ। घटक सेवाओं का विस्तार करें -> कंप्यूटर -> मेरा कंप्यूटर -> DCOM कॉन्फ़िग। 'WSearch' का पता लगाएँ और इसे राइट क्लिक करें -> गुण। "सुरक्षा" टैब पर जाएं।
ऐसा करने पर, मैंने देखा कि इस COM ऑब्जेक्ट के लिए सुरक्षा टैब पर सब कुछ ग्रे-आउट (अक्षम) था, इसलिए मुझे पहले अपने उपयोगकर्ता खाते को रजिस्ट्री में पूर्ण अनुमति देने की आवश्यकता थी। मैंने फिर से Regedit खोला और उसी कुंजी पर गया
HKEY_CLASSES_ROOT\AppID\{9E175B9C-F52A-11D8-B9A5-505054503030}
और अनुमतियों को बदल दिया। सबसे पहले आपको स्वामित्व लेना होगा ('उप-कंटेनरों और वस्तुओं पर मालिक को बदलें' चेक करें), और फिर अपना उपयोगकर्ता नाम जोड़ें और इसे पूर्ण नियंत्रण दें। बाद में, आप स्वामित्व को वापस मूल खाते (NT Service\TrustedInstaller) में बदल सकते हैं।
Winaero के साथ स्वामित्व लेना और व्यवस्थापकीय अनुमति देना बेहद आसान है RegOwnershipEx अनुप्रयोग।
अब मैंने कंपोनेंट सर्विसेज (Dcomcnfg.exe) को फिर से खोला और WSearch गुण, सुरक्षा टैब पर गया और अब लॉन्च और एक्टिवेशन अनुमतियों पर सुरक्षा अनुमतियों को संपादित करने में सक्षम था, जो इस तरह दिखाए जाते हैं यह:
सुरक्षा समूह के माध्यम से हर कोई, मेरे उपयोगकर्ता खाते में पहले से ही स्थानीय सक्रियण अनुमतियाँ हैं, लेकिन 3 अन्य SID भी दिखाए गए हैं जो ज्ञात उपयोगकर्ता खाते या समूह नहीं हैं जैसा कि उनका आइकन इंगित करता है। वे एप्लिकेशन एसआईडी हैं और एप्लिकेशन को संदर्भित करते हैं। इवेंट लॉग त्रुटि ने यह भी कहा "... एप्लिकेशन कंटेनर में चल रहा है अनुपलब्ध SID (S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394)।
अब विंडोज ऑब्जेक्ट पिकर यूआई आपको सुरक्षा प्रमुख वस्तुओं के लिए एप्लिकेशन एसआईडी जोड़ने की अनुमति नहीं देता है। इसलिए Add पर क्लिक करने के बाद, मैंने Advanced... पर क्लिक किया। और फिर अभी खोजें। यह सभी वस्तुओं को सूचीबद्ध करेगा। लेकिन उनमें से ज्यादातर खाता SID थे। मैंने "सभी आवेदन पैकेज" पर ध्यान दिया, जैसा कि नाम से पता चलता है कि शायद सभी एप्लिकेशन पैकेजों के लिए एक समूह है, इसलिए मैंने इसे चुना। इसे जोड़ने के लिए हर जगह ओके पर क्लिक करें और फिर इसे लोकल लॉन्च और लोकल एक्टिवेशन की अनुमति दें।
अब ओके पर क्लिक करने और कंपोनेंट सर्विसेज यूआई को बंद करने पर, इवेंट लॉग से त्रुटि दूर हो गई है, जिसका अर्थ है कि डब्लूएसईर्च COM घटक के पास अब सही स्थानीय लॉन्च और सक्रियण अनुमतियां हैं।
मैंने इस लेख को सामान्य गाइड के रूप में लिखा है ताकि किसी और को उनके इवेंट लॉग में डीसीओएम त्रुटियों का निवारण उसी तरह से करने में मदद मिल सके। मैं अभी भी चिंतित हूं कि विंडोज़ के पास COM ऑब्जेक्ट्स को सही अनुमतियों को आसानी से पुनर्स्थापित करने के लिए अभी तक कोई टूल क्यों नहीं है, अगर वे गड़बड़ हो जाते हैं।