2016-09-23 111 views
1

訪問遠程註冊表時我有一個簡單的連接到通過WMI和PowerShell遠程計算機的註冊表腳本:PowerShell的:通過WMI

$Server = server1 
$HKLM = [UInt32] "0x80000002" 
$WMI_Reg = [WMIClass] "\\server1\root\default:StdRegProv" 

爲廣大300臺的服務器,這是好的,我可以做後續查詢註冊表。但是,對於少數幾個人,我收到此錯誤:

Cannot convert value "\server1\root\default:stdregprov" to type "System.Management.ManagementClass". Error: "not found"

這些都是2008 R2服務器。最初,存在無效WMI提供程序的問題,我必須在出現此錯誤之前重新編譯cimWin32.mof。

關於接下來我能做什麼的任何想法?

謝謝

回答

0

這些錯誤通常是由缺少WMI類引起的。這種錯誤的解決方案通常涉及幾個步驟。 https://blogs.technet.microsoft.com/askperf/2014/08/11/wmi-missing-or-failing-wmi-providers-or-invalid-wmi-class/

重要:按照微軟,請不要重建MOF文件作爲第一步:

"Rebuilding the repository or recompiling all of the .mof files as a first action when other steps should be taken first can cause damage to the system and/or to installed applications."

0

無法轉換值「\ server1的\

的解決方案,可以此鏈接下找到root \ default:stdregprov「鍵入」System.Management.ManagementClass「。 錯誤:「未找到」

此錯誤是因爲它沒有找到您正在尋找的密鑰。這是鑰匙不存在的基本情況。你可以檢查註冊表項是否存在?

根據提供的信息,這裏沒有WMI的問題。

您可以隨時使用try和catch塊來拋出異常並向前移動。