Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Windows Server

WMI रिपॉजिटरी का समस्या निवारण, मरम्मत और पुनर्निर्माण कैसे करें?

WMI समस्याओं का परिचय

हर अनुभवी Windows व्यवस्थापक ने WMI सेवा (Windows Management Instrumentation) और इसके घटकों के साथ किसी न किसी समस्या का सामना किया है। WMI सबसिस्टम में समस्याएं Windows के सामान्य संचालन के लिए महत्वपूर्ण हैं, इसलिए व्यवस्थापक को जल्द से जल्द WMI की कार्यक्षमता की जांच और पुनर्स्थापना करने की आवश्यकता होती है। इस लेख में हम Windows 10 और Windows Server 2016/2019 पर WMI समस्याओं के निवारण और समाधान की एक सरल तकनीक का वर्णन करेंगे।

WMI समस्याओं के सामान्य लक्षण

WMI के साथ समस्या कई प्रकार की त्रुटियों का संकेत दे सकती है:

  • सिस्टम और एप्लिकेशन लॉग में WMI क्वेरी प्रोसेसिंग में त्रुटियां (0x80041002 - WBEM_E_NOT_FOUND, WMI: Not Found, 0x80041010 WBEM_E_INVALID_CLASS)
  • WMI से संबंधित GPO प्रोसेसिंग त्रुटियां (ग्रुप पॉलिसी के WMI-फिल्टर का गलत काम करना, आदि)
  • WMI क्वेरी बहुत धीमी चलना
  • SCCM/SCOM एजेंटों की स्थापना या संचालन के दौरान त्रुटियां
  • WMI नेमस्पेस का उपयोग करने वाले स्क्रिप्ट (VBS या PowerShell) में त्रुटियां (Get-WmiObject आदि के साथ स्क्रिप्ट)

WMI समस्याओं का निवारण

पहला कदम यह जांचना है कि Windows Management Instrumentation (Winmgmt) सेवा Windows पर स्थापित है और चल रही है। आप services.msc कंसोल में या PowerShell का उपयोग करके सेवा की स्थिति देख सकते हैं:

Get-Service Winmgmt | Select DisplayName,Status,ServiceName

यदि Winmgmt सेवा चल रही है, तो आप एक साधारण WMI कमांड के साथ क्वेरी करके WMI के स्वास्थ्य का परीक्षण कर सकते हैं। आप कमांड प्रॉम्प्ट या PowerShell से WMI अनुरोध निष्पादित कर सकते हैं। उदाहरण के लिए, निम्न कमांड Windows पर इंस्टॉल किए गए प्रोग्रामों की सूची देगा:

wmic product get name,version

WMI के माध्यम से Windows 10 के संस्करण और बिल्ड के बारे में जानकारी प्राप्त करने का सबसे सरल PowerShell कमांड इस तरह दिख सकता है:

get-wmiobject Win32_OperatingSystem

जैसा कि आप देख सकते हैं, WMI सेवा ने अनुरोध का सही ढंग से जवाब दिया। यदि Windows ऐसे WMI क्वेरी को निष्पादित करते समय त्रुटि देता है, तो सबसे अधिक संभावना है कि WMI सेवा सही ढंग से काम नहीं कर रही है, WMI रिपॉजिटरी क्षतिग्रस्त है, या अन्य समस्याएं हैं।

उदाहरण के लिए, मेरे मामले में, कंप्यूटर प्रबंधन स्नैप-इन (compmgmt.msc) में WMI कंट्रोल गुण खोलते समय निम्न संदेश दिखाई दिया:

Failed to initialize all required WMI classes Win32_Processor. WMI: Invalid namespace Win32_WMISetting. WMI: Invalid namespace Win32_OperationSystem. WMI: Invalid namespace

WMIDiag.vbs टूल का उपयोग (विरासत)

पहले, आधिकारिक Microsoft टूल WMIDiag.vbs (Microsoft WMI Diagnosis) का उपयोग WMI के निदान के लिए किया जाता था। WMIDiag एक VBS स्क्रिप्ट है जो विभिन्न WMI सबसिस्टम की जांच करती है और एकत्रित जानकारी को लॉग फाइलों में लिखती है (डिफ़ॉल्ट रूप से लॉग %TEMP% फोल्डर में स्थित होते हैं – C:\USERS\%USERNAME%\APPDATA\LOCAL\TEMP\)। परिणामी रिपोर्ट में WMIDIAG-V2.2 से शुरू होने वाले नामों वाली फाइलें शामिल होती हैं और इसमें निम्न फाइल प्रकार शामिल होते हैं:

  • LOG फाइलों में WMIDiag टूल की गतिविधि और संचालन पर विस्तृत रिपोर्ट होती है
  • TXT फाइलों में पाए गए त्रुटियों की सारांश रिपोर्ट होती है जिन पर ध्यान देने योग्य है
  • CSV फाइलों में WMI प्रदर्शन के दीर्घकालिक विश्लेषण के लिए आवश्यक जानकारी होती है

नोट: Windows x64 संस्करणों में wmidiag को निम्नानुसार चलाया जाना चाहिए:

c:\windows\System32\cscript.exe wmidiag.vbs

अन्यथा, एक त्रुटि होती है: WMIDiag must be run from native 64-bit environment. It is not supported in Wow64.

दुर्भाग्य से, WMIDiag 2.2 का नवीनतम संस्करण केवल Windows 8.1/Windows Server 2012 R2 तक के संस्करणों के साथ सही ढंग से काम करता है। इस बिंदु पर, Microsoft ने डाउनलोड सेंटर से WMIDiag डाउनलोड करने का लिंक भी हटा दिया है। लेकिन यदि आप चाहें, तो यह स्क्रिप्ट वेब पर पाई जा सकती है।

WMIDiag WMI में स्थानीय त्रुटियों को ठीक करने के तरीके के बारे में विस्तृत जानकारी प्रदान करता है, लेकिन ज्यादातर मामलों में यह एक समय लेने वाला कार्य है और केवल महत्वपूर्ण प्रणालियों (आमतौर पर उत्पादन सर्वर) में समस्याओं के समाधान खोजते समय खर्च किए गए समय के लायक है। उपयोगकर्ता वर्कस्टेशन के मामले में, Windows में WMI रिपॉजिटरी को रीसेट और पुनर्निर्माण करना बहुत आसान है।

WMI रिपॉजिटरी की मरम्मत और MOF फाइलों का पुनर्संकलन

Windows 10/Windows Server 2016 पर, आप निम्न कमांड का उपयोग करके WMI रिपॉजिटरी की अखंडता की जांच कर सकते हैं:

winmgmt /verifyrepository

यदि कमांड यह लौटाता है कि WMI डेटाबेस असंगत स्थिति में है (INCONSISTENT या WMI repository verification failed), तो आपको WMI रिपॉजिटरी त्रुटियों का सॉफ्ट फिक्स करने का प्रयास करना चाहिए:

Winmgmt /salvagerepository
WMI repository has been salvaged.

यह कमांड WMI रिपॉजिटरी की स्थिरता की जांच करता है और यदि असंगतताएं पाई जाती हैं तो WMI डेटाबेस का पुनर्निर्माण करता है।

WMI सेवा को पुनरारंभ करें:

net stop Winmgmt
net start Winmgmt

यदि मानक WMI फिक्स काम नहीं करता है, तो निम्न स्क्रिप्ट का प्रयास करें। यह स्क्रिप्ट कंप्यूटर पर WMI सेवा को पुनर्प्राप्त करने का एक "सॉफ्ट" विकल्प है (DLL लाइब्रेरी और WMI को फिर से पंजीकृत किया जाता है और MOF फाइलों को पुनर्संकलित किया जाता है)। यह प्रक्रिया सुरक्षित है और इसके कार्यान्वयन से ऑपरेटिंग सिस्टम के साथ कोई और समस्या नहीं होनी चाहिए:

sc config winmgmt start= disabled
net stop winmgmt
cd %windir%\system32\wbem
for /f %s in ('dir /b *.dll') do regsvr32 /s %s
wmiprvse /regserver
sc config winmgmt start= auto
net start winmgmt
for /f %s in ('dir /b *.mof') do mofcomp %s
for /f %s in ('dir /b *.mfl') do mofcomp %s

Windows के 64-बिट संस्करण पर, इन चरणों को SysWOW64 निर्देशिका के लिए भी किया जाना चाहिए। तीसरी लाइन को निम्न से बदलें:

cd %windir%\SysWOW64\wbem

इन कमांड को केवल कमांड प्रॉम्प्ट में पेस्ट करके चलाया जा सकता है, या आप स्क्रिप्ट को BAT फाइल (wmi_soft_repair.bat) के रूप में सहेज सकते हैं और इसे प्रशासक अनुमतियों के साथ चला सकते हैं। स्क्रिप्ट समाप्त होने के बाद, Windows को पुनरारंभ करें और जांचें कि WMI काम कर रहा है या नहीं।

WMI रिपॉजिटरी का पुनर्निर्माण

यदि ऊपर वर्णित विधि ने मदद नहीं की है, तो WMI पुनर्प्राप्ति के अधिक "हार्ड" तरीके का उपयोग करें जो WMI रिपॉजिटरी के पुनर्सृजन को दर्शाता है।

WMI रिपॉजिटरी %windir%\System32\Wbem\Repository में स्थित है और एक डेटाबेस है जिसमें WMI कक्षाओं के मेटाडेटा और परिभाषाओं के बारे में जानकारी होती है। कुछ मामलों में WMI रिपॉजिटरी में स्थिर वर्ग जानकारी भी हो सकती है। जब रिपॉजिटरी क्षतिग्रस्त होती है, तो WMI सेवा (Winmgmt) की गतिविधि में त्रुटियां होती हैं।

यदि आपको संदेह है कि WMI रिपॉजिटरी क्षतिग्रस्त है, तो ध्यान रखें कि इसे केवल तभी पुनर्सृजित किया जाना चाहिए जब WMI को पुनर्स्थापित करने के कोई अन्य साधन प्रभावी न हों।

निम्न कमांड WMI डेटाबेस को उसकी मूल स्थिति में रीसेट कर देगा (जैसा कि साफ Windows इंस्टॉल के बाद होता है)। यदि salvagerepository पैरामीटर ने समस्या को ठीक नहीं किया तो WMI रिपॉजिटरी को हार्ड रीसेट करने के लिए इस कमांड का उपयोग करें:

Winmgmt /resetrepository

टिप: व्यवहार में, ऐसे मामले होते हैं जब WMI रिपॉजिटरी के पुनर्निर्माण से थर्ड-पार्टी सॉफ्टवेयर के साथ समस्याएं होती हैं। कारण यह है कि WMI डेटाबेस में सभी रिकॉर्ड साफ हो जाते हैं (साफ सिस्टम की स्थिति तक)। ऐसे सॉफ्टवेयर को रिकवरी मोड में पुनर्स्थापित करना पड़ सकता है।

यदि दोनों कमांड (Winmgmt /salvagerepository और Winmgmt /resetrepository) WMI डेटाबेस की सुसंगत स्थिति को पुनर्स्थापित नहीं कर सके, तो निम्न स्क्रिप्ट के साथ WMI डेटाबेस का हार्ड रीसेट करने का प्रयास करें:

sc config winmgmt start= disabled
sc config winmgmt start= disabled
net stop winmgmt
cd %windir%\system32\wbem
winmgmt /resetrepository
winmgmt /resyncperf
if exist Repos_bakup rd Repos_bakup /s /q
rename Repository Repos_bakup
regsvr32 /s %systemroot%\system32\scecli.dll
regsvr32 /s %systemroot%\system32\userenv.dll
for /f %s in ('dir /b *.dll') do regsvr32 /s %s
for /f %s in ('dir /b *.mof') do mofcomp %s
for /f %s in ('dir /b *.mfl') do mofcomp %s
sc config winmgmt start= auto
net start winmgmt
wmiprvse /regserver

Windows के 64-बिट संस्करण पर, आपको %windir%\sysWOW64\wbem निर्देशिका में DLL/EXE को फिर से पंजीकृत करने और MOF फाइलों को पुनर्संकलित करने की भी आवश्यकता है।

यह स्क्रिप्ट WMI रिपॉजिटरी फोल्डर को पूरी तरह से हटाता है और पुनर्सृजित करता है (पुरानी रिपॉजिटरी Repos_backup निर्देशिका में सहेजी जाती है)। स्क्रिप्ट पूरा होने के बाद, आपको Windows को पुनरारंभ करना होगा। फिर एक साधारण क्वेरी के साथ WMI सेवा की जांच करें।

WMI रिपॉजिटरी की स्थिति जांचें। यदि त्रुटियां ठीक हो गई हैं, तो winmgmt /verifyrepository कमांड को यह वापस करना चाहिए:

WMI repository is consistent

इस लेख में, हमने WMI सेवा और रिपॉजिटरी के निदान और समस्या निवारण के बुनियादी तरीके दिखाए हैं।

  1. मिनटों में अपने विंडोज रजिस्ट्री को सुरक्षित रूप से बैक अप और रिस्टोर करें मिनटों में अपने विंडोज रजिस्ट्री को सुरक्षित रूप से बैक अप और रिस्टोर करें

    यदि आप विंडोज रजिस्ट्री को ट्वीक करने की सोच रहे हैं, तो यह महत्वपूर्ण है कि आपके पास पहले उचित बैकअप हों। विंडोज कंप्यूटर के कामकाज के लिए एक महत्वपूर्ण हिस्सा होने के नाते, विंडोज रजिस्ट्री को नुकसान आपके वर्कफ्लोज़ के लिए महत्वपूर्ण बाधाएं पैदा कर सकता है। रजिस्ट्री बैकअप, इस प्रकार, इन समस्याओं

  1. लापता या भ्रष्ट ApplicationFrameHost.exe को ठीक करना: चरण-दर-चरण गाइड लापता या भ्रष्ट ApplicationFrameHost.exe को ठीक करना: चरण-दर-चरण गाइड

    जब विंडोज गैर-मौजूद या भ्रष्ट ApplicationFrameHost.exe फ़ाइलों के संबंध में त्रुटि संदेश प्रदर्शित करता है, तो चीजें बिगड़ जाती हैं। आप सॉफ्टवेयर इंस्टॉलेशन, विंडोज अपडेट करने और अन्य संबंधित कार्य करने में समस्याओं का सामना करना शुरू कर देते हैं। इसलिए, इसे ठीक करना अत्यंत महत्वपूर्ण है। आज, हम विं

  1. विंडोज़ 11 भ्रष्ट फाइलें ठीक करें: चरण-दर-चरण मरम्मत गाइड विंडोज़ 11 भ्रष्ट फाइलें ठीक करें: चरण-दर-चरण मरम्मत गाइड

    विंडोज़ 11 भ्रष्ट फाइलों को ठीक करना चाह रहे हैं? या, आप विंडोज़ 11 की मरम्मत कैसे करें? के बारे में सोच रहे होंगे? सबसे पहले, आपको ज्यादा चिंता करने की जरूरत नहीं है क्योंकि आप अकेले नहीं हैं क्योंकि अन्य उपयोगकर्ता विंडोज़ 11 भ्रष्ट फाइलों के सटीक सुधारों को नहीं जानते। लेकिन मैं सिर्फ आपको बता