WMI 疑難排解
在應用程式或腳本中存取 WMI 本機或遠端資料時,您可能會遇到錯誤,範圍從遺漏類別到拒絕存取。 提供者也有可用的偵錯選項和疑難排解類別。
注意
本主題中的資訊適用于開發人員和 IT 系統管理員。 如果您是遇到 WMI 相關錯誤訊息的使用者,請造訪Microsoft 支援服務,並搜尋您在錯誤訊息中看到的錯誤碼。 如需針對 WMI 腳本和 WMI 服務的問題進行疑難排解的詳細資訊,請參閱 WMI 無法運作!
WMI Diagnosis Utility
重要
從 Windows 8 和 Windows Server 2012 開始,不再支援WMI Diagnosis Utility (WMIDiag.exe
) 。
Windows 7、Windows Server 2008 R2、Windows Vista 和 Windows Server 2008:
如果 WMI 傳回錯誤訊息,請注意它們可能不會指出 WMI 服務或 WMI 提供者中的問題。 失敗可能源自作業系統的其他部分,並透過 WMI 以錯誤的形式出現。 在沒有任何情況下,您應該刪除 WMI 存放庫作為第一個步驟;因為刪除存放庫可能會對系統或已安裝的應用程式造成損害。
之前,若要取得問題來源的詳細資訊,您可以下載並執行WMI Diagnosis Utility診斷命令列工具。 此工具會產生一份報告,通常可隔離問題的來源,並提供如何修正的指示。 此報告也協助 Microsoft 支援服務協助您。 WMI Diagnosis Utility先前已在下載中心取得。
身為提供者寫入器,除非您撰寫 分離的提供者,否則您也可能遇到偵錯問題。 如需詳細資訊,請參閱 偵錯提供者。
記錄和追蹤
WMI 記錄檔已不存在;它們已由 Windows 事件追蹤 (ETW) 取代。 如需詳細資訊,請參閱 追蹤 WMI 活動、 記錄 WMI 活動和WMI 記錄檔。
腳本和應用程式中的疑難排解
WMI 包含一組類別,可針對使用 WMI 提供者的用戶端應用程式 進行疑難排解 。 如需詳細資訊,請參閱 針對 WMI 用戶端應用程式進行疑難排解。
提供者寫入器如何防止 WMI 問題
提供者寫入器可以藉由執行下列動作,防止透過 WMI) 出現在錯誤訊息中的許多 (問題:
- 正確註冊您的提供者。 如需詳細資訊,請參閱 註冊提供者。
- 將 #pragma 自動回復 語句新增至 Managed 物件格式 (MOF) 定義提供者類別的檔案。
如需詳細資訊,請參閱 偵錯提供者、 將資料提供給 WMI,以及 提供者組態和疑難排解類別。
拒絕存取
存取遭拒 的錯誤,由存取 WMI 命名空間和資料的應用程式所報告的腳本和資料通常分成三個類別。 下表列出三種錯誤類別,以及可能造成錯誤和可能解決方案的問題。
錯誤 | 可能的問題 | 解決方案 |
---|---|---|
0x800706BA HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) 防火牆問題或伺服器無法使用。 |
電腦真的不存在,或 Windows 防火牆封鎖連線 |
連線到 Vista: netsh advfirewall firewall set rule group=「windows management instrumentation (wmi) 」 new enable=yes Connect to downlevel: Allow the 「Remote Administration」 rule in Windows Firewall. |
0x80070005 E_ACCESS_DENIED DCOM 安全性拒絕存取。 |
使用者無法透過 DCOM 遠端存取電腦。 一般而言,連線到具有不同作業系統版本的遠端電腦時,會發生 DCOM 錯誤。 |
在 dcomcnfg 中為使用者授與遠端啟動和遠端啟用許可權。 以滑鼠右鍵按一下 [我的電腦- > 屬性]。 在 [COM 安全性] 底下,針對這兩個區段按一下 [編輯限制]。 提供您想要遠端存取、遠端啟動和遠端啟用的使用者。 然後移至 DCOM Config,尋找 「Windows Management Instrumentation」,並提供您想要遠端啟動和遠端啟用的使用者。 如需詳細資訊,請參閱 在不同作業系統之間連線 |
0x80041003 WBEM_E_ACCESS_DENIED 提供者拒絕存取 |
使用者沒有在 WMI 中執行作業的許可權。 當您將特定類別查詢為低許可權使用者時,就會發生這種情況,但最常發生在您嘗試叫用方法或將 WMI 實例變更為低許可權使用者時。 您所連線的命名空間已加密,且使用者嘗試使用未加密的連線進行連線 |
使用 WMI 控制 (讓使用者使用支援加密的用戶端,確定他們Remote_Access設定為 true) Connect。 |
一般而言,連線到具有不同作業系統版本的遠端電腦時,會發生 DCOM 錯誤。
提供者也可以拒絕存取特定命名空間中的資料,或可能需要特定層級的連接安全性。 如需詳細資訊,請參閱設定用戶端應用程式進程安全性和提供者裝載和安全性。
從網際網路連線防火牆 (ICF) 變更拒絕存取錯誤。
如需詳細資訊,請參閱 透過 Windows 防火牆連線。
當低完整性用戶端嘗試存取 WMI 時,DCOM 安全性會傳回拒絕存取錯誤。 例如,在 Internet Explorer 中執行的 ActiveX 控制項,其安全性層級設定為低,無法存取以執行本機 WMI 作業。
Windows 7: 低完整性使用者具有本機 WMI 作業的唯讀許可權。
錯誤的相關資訊
當您從 WMI 收到錯誤訊息時,可以在 WMI 錯誤常數 中找到訊息,或針對腳本 WbemErrorEnum找到訊息。 不過,錯誤所提供的資訊通常不足以判斷發生的情況。 WMI 存放庫損毀可能會偽裝為類別或實例「找不到」。
如需 WMI 錯誤的詳細資訊:
- WMI 記錄會從 WMI 核心和提供者內追蹤事件。 如需詳細資訊,請參閱 記錄 WMI 活動。
- 使用 WMI 疑難排解類別來檢查 WMI 內部狀態或接收提供者或 WMI 服務事件的通知。 如需詳細資訊,請參閱提供者設定和疑難排解類別和疑難排解 WMI 用戶端應用程式。