操作類別和實例資訊

WMI 提供各種技術,可使用 Microsoft PowerShell、Visual Basic Scripting Edition (VBScript) 和 C++ 來擷取及操作 WMI 類別和實例資訊。

下表列出討論擷取及操作 WMI 類別和實例資訊之技術的主題。

主題 描述
擷取 WMI 類別或實例資料 從 WMI 資訊存放庫擷取和設定資料。
修改實例屬性 擷取實例之後,請變更實例中的資訊。
變更實例的繼承 變更 實例的父類別。
修改方法 修改 實例的參數。
列舉 WMI 列舉 WMI 物件。
查詢 WMI 查詢 WMI 物件。
呼叫方法 使用 Microsoft 或其他協力廠商開發人員建立的相關聯方法,進一步操作 WMI 物件,否則會直接影響 WMI 物件所代表的物件。
存取集合 列舉腳本中的集合。

 

使用 VBScript 運算元據

您可以使用直接存取,直接存取 SWbemObject上 WMI 類別或實例的 WMI 屬性,而不是透過該物件的屬性 集合 。 您也可以使用程式設計語言的原生樣式在該物件上執行方法,而不是使用 SWbemServices.ExecMethod 呼叫。 例如,Win32_Process中的Create方法在 Windows 2000 中有三個參數,但在 Windows Server 2003 中有四個參數。

您可以使用直接存取,將 WMI 屬性和方法視為 SWbemObject的自動化屬性和方法。

下列範例示範如何存取屬性。

VolumeName = MyDisk.Properties_("VolumeName")

下列範例顯示當您具有直接存取權時,如何存取屬性。

VolumeName = MyDisk.VolumeName

也可以接受物件的鏈結。

下列範例示範如何存取內嵌在另一個 物件中的 物件屬性。

value = MyComputer.MyDisk.VolumeName

下列範例示範如何使用陣列下標標記法來存取屬性。

valueOfElement = MyDisk.MyArrayProperty(3)

下列 VBScript 程式碼範例示範如何將輸入參數的實例繁衍至Win32_Process類別中的Create方法作為SWbemObject、填入輸入屬性,然後使用SWbemServices.ExecMethod執行Create方法。

SWbemObject.Methods_屬性會傳回Win32_Process方法的SWbemMethodSet集合。 方法集的成員是 SWbemMethod 物件, 而 SWbemMethod.InParameters 會傳回 Create 方法的輸入參數。 必要的 CommandLine 輸入參數會設定為 「calc.exe」。 然後 SWbemServices.ExecMethod會執行 方法,進而啟動calc.exe進程。

set Services = GetObject("winmgmts:root\cimv2")
Set obj = Services.Get("Win32_Process")
Set objIns = obj.Methods_("Create").InParameters.SpawnInstance_
objIns.CommandLine = "calc.exe"
Set objOut = Services.ExecMethod("Win32_Process", "Create", objIns)
MsgBox "Return value = " & objOut.returnvalue & VBCRLF & "Process ID = " & objOut.processid

下列程式碼範例示範如何使用直接存取來執行先前的作業。

set Services = GetObject("winmgmts:root\cimv2")
Set Obj = Services.Get("Win32_Process")
returnvalue = Obj.create("calc.exe",,,processid)
MsgBox "Return value = " & returnvalue & VBCRLF & "Process ID = " & processid

如需詳細資訊,請參閱使用 SWbemObject呼叫提供者方法和腳本。