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.