俞木發(fā)
WMI是通過后臺(tái)的系統(tǒng)服務(wù)加載并運(yùn)行的。要對該服務(wù)的響應(yīng)狀態(tài)進(jìn)行檢測,以管理員身份啟動(dòng)Windows PowerShell,在其中輸入“get-wmiobject Win32_Operating System”并回車執(zhí)行,正常情況下會(huì)在PowerShell窗口中顯示系統(tǒng)目錄、版本等詳細(xì)信息。但是,如果WM I服務(wù)有異常,此時(shí)系統(tǒng)會(huì)返回“服務(wù)器運(yùn)行失敗”的提示,表示調(diào)用WMI服務(wù)出現(xiàn)了問題(圖1)。
此時(shí)可以先通過服務(wù)管理組件來查詢服務(wù)狀態(tài)是否正常。在名稱列表中找到“Windows? Management Instrumentation”(對應(yīng)“Winmgmt服務(wù)”),查看其狀態(tài),正常情況下應(yīng)顯示為“正在運(yùn)行”。如果是其他狀態(tài)(如顯示為“暫?!被蛘摺耙淹V埂保?,那么就會(huì)出現(xiàn)圖1所示的問題。此時(shí)可以進(jìn)入該服務(wù)的設(shè)置界面,將其啟動(dòng)狀態(tài)設(shè)置為“自動(dòng)”,并點(diǎn)擊“恢復(fù)”,確保服務(wù)正常運(yùn)行即可解決問題(圖2)。
比如公司某臺(tái)電腦在打開“計(jì)算機(jī)管理→服務(wù)和應(yīng)用程序→WMI控件”,試圖查看其屬性時(shí)系統(tǒng)返回錯(cuò)誤提示(圖3)。
如果系統(tǒng)出現(xiàn)圖3所示的問題,大多是由于系統(tǒng)WM I存儲(chǔ)庫受損導(dǎo)致的。解決的方法是先檢查系統(tǒng)的W M I 存儲(chǔ)庫狀態(tài),在Power Shell窗口中輸入命令“winmgmt /verifyrepositor y”并執(zhí)行,如果出現(xiàn)異常則會(huì)返回“存儲(chǔ)庫不一致”(或“WMI存儲(chǔ)庫驗(yàn)證失敗”)的提示(圖4)。
在上述的窗口中輸入命令“Winmgmt /salvagerepository”并執(zhí)行,對WMI存儲(chǔ)庫執(zhí)行軟修復(fù)操作,如果屏幕返回“ W M Irepository has been salvaged.”的提示,則表明已經(jīng)成功修復(fù)受損的存儲(chǔ)庫。如果軟修復(fù)的方法無法解決問題,還可以在上述的窗口中輸入并執(zhí)行“net stop Winmgmt”(先停止WMI服務(wù))和“ Winmgmt/resetrepositor y”命令,重置WMI數(shù)據(jù)庫到安裝Windows 10后的初始狀態(tài),重置成功后屏幕會(huì)提示“WMI存儲(chǔ)重置成功”(圖5)。這樣可以解決大多數(shù)WMI控件出錯(cuò)的問題。
注意:
將WMI存儲(chǔ)庫恢復(fù)到系統(tǒng)的初始狀態(tài)后,一些依賴WMI服務(wù)的軟件運(yùn)行后可能會(huì)出現(xiàn)問題,只要將軟件重新安裝一次即可解決。
系統(tǒng)很多組件的運(yùn)行都依賴WMI服務(wù),比如系統(tǒng)命令Tasklist、MSinfo32.exe、VBS腳本等,如果在運(yùn)行這類系統(tǒng)組件時(shí)系統(tǒng)返回錯(cuò)誤代碼(圖6),也是由于系統(tǒng)WMI存儲(chǔ)庫受損導(dǎo)致的,可以先嘗試使用圖5所示的方法進(jìn)行修復(fù)。如果問題依舊,那么就需要對WMI存儲(chǔ)庫進(jìn)行重建操作。
先到“https://share.weiyun.com/bY0hKI3Q”下載所需的批處理文件1.bat,下載后將其放置在D:\備用,接著右擊該批處理并選擇“以管理員身份運(yùn)行”,批處理會(huì)停止WMI服務(wù)并重建(圖7)。
完成上述的操作后重啟電腦,進(jìn)入桌面后再以管理員身份啟動(dòng)命令提示符,輸入命令“winmgmt /verifyrepository”并執(zhí)行,此時(shí)屏幕會(huì)提示“WMI存儲(chǔ)庫一致”,表示重建操作成功(圖8)。