Každý skúsený správca systému Windows opakovane zaznamenal problémy so službou WMI a jej súčasťami. Prítomnosť problémov v subsystéme WMI je kritická z hľadiska normálneho fungovania systému, takže správca sa musí uchýliť k jednému alebo druhému triku na obnovenie WMI. V tomto článku popisujeme pomerne jednoduchú techniku diagnostiky a riešenia problémov služby WMI..
Problémy s WMI môžu naznačovať rôzne chyby:
- Chyby pri spracovaní požiadaviek WMI v protokoloch systému a aplikácií
- Chyby GPO súvisiace s WMI (nesprávna činnosť filtrov politiky wmi atď.)
- Chyby v prevádzke / neschopnosti nainštalovať agentov SCCM / SCOM
- Chyby v skriptoch (vbs alebo powerhell) pomocou menného priestoru WMI
Najprv musíte skontrolovať, či má systém službu Windows Management Instrumentation (Winmgmt) a či je zapnutý..
Ak je služba prítomná a je v stave Spustené, odporúča sa otestovať stav WMI prístupom k nej pomocou jednoduchej požiadavky wmi. Napríklad s Powershell sa to dá urobiť takto:
get-wmiobject Win32_OperatingSystem
Ak systém vráti chybu pri vykonávaní najjednoduchšej požiadavky WMI (na snímke obrazovky je uvedený príklad správnej odpovede služby WMI), pravdepodobne dôjde k nesprávnemu fungovaniu služby WMI alebo niektorých jej subsystémov, k poškodeniu úložiska WMI alebo iným problémom..
obsah:
- Nástroj WMIDiag
- Opätovná registrácia knižníc WMI a prekompilovanie súborov MF
- Opätovné vytvorenie úložiska WMI (úložisko)
Nástroj WMIDiag
Pre „tenkú“ diagnostiku služby WMI existuje oficiálny pomocný program spoločnosti Microsoft - WMIDiag (Microsoft WMI Diagnostnosis). Obslužný program je skript vbs, ktorý kontroluje rôzne podsystémy WMI a zapisuje zhromaždené informácie do protokolových súborov (štandardne sú protokoly v adresári% TEMP% - C: \ USERS \% USERNAME% \ APPDATA \ LOCAL \ TEMP \). Výsledná zostava pozostáva zo súborov, ktorých názvy začínajú WMIDIAG-V2.1 a zahŕňajú nasledujúce typy súborov:
- .protokolové súbory obsahujú podrobnú správu o činnosti a činnosti obslužného programu WMIDiag
- .Súbory txt obsahujú súhrnné správy o zistených chybách, ktoré sa oplatí venovať pozornosť
- Súbory .Csv obsahujú informácie potrebné na dlhodobú analýzu subsystému WMI
rada. V 64 bitových verziách systému Windows je potrebné spustiť program wmidiag takto:
c: \ windows \ System32 \ cscript.exe wmidiag.vbs
v opačnom prípade sa zobrazí chyba: WMIDiag musí byť spustený z natívneho 64-bitového prostredia. Vo Wow64 nie je podporovaný.
Po dokončení obslužného programu WMIDiag by mal správca skontrolovať prijaté protokolové súbory, analyzovať a pokúsiť sa opraviť nájdené chyby..
Vo všeobecnosti môže WMIDiag poskytovať informácie o opravách súkromných chýb vo WMI, ale vo väčšine prípadov je tento proces dosť časovo náročný a stojí za to čas potrebný iba na riešenie incidentov v kritických systémoch (zvyčajne na produktívnych serveroch). V prípade veľkého segmentu pracovných staníc používateľov je oveľa jednoduchšie „zasiahnuť podlahu“ a radikálnejšie vyriešiť problém WMI..
Opätovná registrácia knižníc WMI a prekompilovanie súborov MF
Nasledujúci skript je „mäkkou“ voľbou na obnovenie stavu služby WMI na jednom počítači (knižnice dll a služby WMI sa opätovne zaregistrujú, súbory MF sa prekompilujú). Tento postup je trezor a jeho implementácia by nemala viesť k žiadnym novým problémom so systémom.
sc config winmgmt start = deaktivovaný net stop winmgmt cd% windir% \ system32 \ wbem pre / f %% s v ('dir / b * .dll') do regsvr32 / s %% s wmiprvse / regserver winmgmt / regserver sc config winmgmt start = auto net start winmgmt pre / f %% s v ('dir / b * .mof') do mofcomp %% s pre / f %% s v ('dir / b * .mfl') do mofcomp %% s
Tieto príkazy sa dajú vykonať jednoduchým vložením príkazového riadku do okna alebo uložením kódu do súboru bat a jeho spustením s právami správcu. Po dokončení skriptu je potrebné systém reštartovať a znova skontrolovať operáciu WMI.
Opätovné vytvorenie úložiska WMI (úložisko)
V prípade, že predchádzajúca metóda nepomohla, budete musieť pristúpiť k „tvrdšiemu“ spôsobu obnovenia služby WMI, ktorý spočíva v prestavbe úložiska..
Úložisko WMI (úložisko) nachádza sa v katalógu % windir% \ System32 \ Wbem \ Repository Je to databáza, ktorá obsahuje informácie o metaúdajoch a definíciách tried WMI. V niektorých prípadoch môže archív WMI obsahovať informácie o statickej triede. Ak je úložisko WMI poškodené, môžu sa vyskytnúť chyby v prevádzke služby Windows Management Instrumentation (Winmgmt) až do úplnej neschopnosti spustiť ho..
V prípade, že máte podozrenie, že úložisko WMI je poškodené, nezabudnite, že jeho opätovné vytvorenie je poslednou vecou, ktorú musíte uchýliť, iba ak WMI znovu oživiť nebudú žiadne iné operácie..
rada. V praxi existujú situácie, keď rekonštitúcia úložiska WMI vedie k problémom so softvérom tretích strán. Tento efekt je spôsobený skutočnosťou, že všetky záznamy v databáze WMI sa obnovia (do stavu čistého systému). Takýto softvér bude možno potrebné preinštalovať v režime obnovenia..V systéme Windows Vista a novších verziách môžete skontrolovať integritu úložiska WMI pomocou príkazu:
winmgmt / overiť úložisko
Ak príkaz vráti, že databáza WMI je v nekonzistentnom stave (INCONSISTENT), oplatí sa vyskúšať mäkké obnovenie úložiska:
Winmgmt / salvagerepository
A reštartujte službu wmi:
net stop winmgmt
net start winmgmt
Ak príkaz opísaný vyššie nepomohol, obnovíme repozitár do pôvodného stavu (tvrdý reset) takto:
Winmgmt / resetrepository
V prípade, že príkazy Winmgmt / salvagerepository a Winmgmt / resetrepository neprinášajú požadovaný účinok, je vhodné skúsiť vykonať „tvrdé“ opätovné vytvorenie základne WMI manuálne pomocou tohto scenára:
sc config winmgmt start = deaktivovaný net stop winmgmt cd% windir% \ system32 \ wbem winmgmt / kill winmgmt / unregserver winmgmt / regserver winmgmt / resyncperf ak existuje Repos_bakup rd Repos_bakup / s / q premenovať Repository Repr3232% sysystém scecli.dll regsvr32 / s% systemroot% \ system32 \ userenv.dll pre / f %% s v ('dir / b * .dll') do regsvr32 / s %% s pre / f %% s in ('dir / b * .mof ') do mofcomp %% s pre / f %% s v (' dir / b * .mfl ') do mofcomp %% s sc config winmgmt start = auto net start winmgmt wmiprvse / regserver
Tento skript úplne znova vytvorí úložisko WMI (staré úložisko je uložené v adresári Repos_bakup). Po dokončení spúšťania skriptu je potrebné reštartovať počítač a potom pomocou jednoduchej požiadavky otestovať fungovanie služby WMI.
V tomto článku sme zostavili typické techniky riešenia problémov so službou WMI a jej subsystémami..