Sdílet prostřednictvím


Manipulace s informacemi o třídě a instanci

Rozhraní WMI poskytuje různé techniky pro načítání a manipulaci s informacemi o třídách a instancích rozhraní WMI pomocí Microsoft PowerShellu, visual basic scripting Edition (VBScript) a C++.

Následující tabulka uvádí témata, která popisují techniky načítání a manipulace s informacemi o třídách WMI a instancích.

Námět Popis
Načítání dat třídy nebo instance WMI Načtěte data z úložiště informací služby WMI a nastavte je do něj.
úprava vlastnosti instance Změňte informace v instanci po jejím načtení.
Změna dědičnosti instance Změňte nadřazenou třídu instance.
Úprava metody Upravte parametry instance.
Vyjmenování WMI Vytvoření výčtu objektů rozhraní WMI
Dotazování WMI Dotazování objektů rozhraní WMI
volání metody Pomocí přidružených metod vytvořených microsoftem nebo jinými vývojáři třetích stran můžete dále manipulovat s objekty rozhraní WMI nebo přímo ovlivnit objekt, který objekt WMI představuje.
přístup ke kolekci Vytvořte výčet kolekcí ve skriptu.

 

Manipulace s daty pomocí jazyka VBScript

Můžete použít přímý přístup k vlastnostem WMI třídy nebo instance přímo na SWbemObject, namísto jejich získávání prostřednictvím kolekce vlastností tohoto objektu. Můžete také spouštět metody na daném objektu v nativním stylu programovacího jazyka místo použití SWbemServices.ExecMethod volání. Například metoda Create ve Win32_Process měla v systému Windows 2000 tři parametry, ale má v systému Windows Server 2003 čtyři parametry.

Pomocí přímého přístupu můžete zacházet s vlastnostmi a metodami rozhraní WMI, jako by to byly vlastnosti automatizace a metody SWbemObject.

Následující příklad ukazuje, jak můžete získat přístup k vlastnosti.

VolumeName = MyDisk.Properties_("VolumeName")

Následující příklad ukazuje, jak můžete přistupovat k vlastnosti, když máte přímý přístup.

VolumeName = MyDisk.VolumeName

Řetězení objektů je také přijatelné.

Následující příklad ukazuje, jak získat přístup k vlastnosti objektu, který je vložen v jiném objektu.

value = MyComputer.MyDisk.VolumeName

Následující příklad ukazuje, jak získat přístup k vlastnosti pomocí indexu pole.

valueOfElement = MyDisk.MyArrayProperty(3)

Následující příklad kódu VBScript ukazuje, jak vytvořit instanci vstupních parametrů pro metodu Create ve třídě Win32_Process jako SWbemObject, vyplnit vstupní vlastnosti a pak spustit metodu Create pomocí SWbemServices.ExecMethod.

Vlastnost SWbemObject.Methods_ vrátí kolekci metod Win32_Process v rámci SWbemMethodSet. Členy sady metod jsou SWbemMethod objekty a SWbemMethod.InParameters vrátí vstupní parametry pro metodu Create. Požadovaný vstupní parametr CommandLine je nastaven na hodnotucalc.exe. Metoda se pak spustí SWbemServices.ExecMethod, výsledkem čehož je spuštění procesu 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

Následující příklad kódu ukazuje, jak provést předchozí operaci pomocí přímého přístupu.

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

Další informace naleznete v tématu Volání metody zprostředkovatele a Skriptováním se SWbemObject.