Udostępnij za pośrednictwem


Manipulowanie informacjami o klasie i wystąpieniu

Usługa WMI udostępnia różne techniki pobierania i manipulowania informacjami o klasie i wystąpieniu usługi WMI przy użyciu programu Microsoft PowerShell, visual basic Scripting Edition (VBScript) i języka C++.

W poniższej tabeli wymieniono tematy, które omawiają techniki pobierania i manipulowania informacjami o klasach i wystąpieniach WMI.

Temat Opis
Pobieranie danych klasy lub wystąpienia usługi WMI Pobieranie i ustawianie danych do i z repozytorium informacji WMI.
modyfikowanie właściwości wystąpienia Zmień informacje w wystąpieniu po jego pobraniu.
Zmiana dziedziczenia instancji Zmień klasę nadrzędną wystąpienia.
Modyfikowanie metody Zmodyfikuj parametry wystąpienia.
Wyliczanie WMI Wylicz obiekty WMI.
Wykonywanie zapytań dotyczących usługi WMI Wykonywanie zapytań względem obiektów WMI.
Wywoływanie Metody Użyj skojarzonych metod utworzonych przez firmę Microsoft lub innych deweloperów innych firm, aby dalej manipulować obiektami WMI lub bezpośrednio wpływać na obiekt reprezentowany przez obiekt WMI.
uzyskiwanie dostępu do kolekcji Wyliczanie kolekcji w skrypcie.

 

Manipulowanie danymi przy użyciu języka VBScript

Możesz użyć bezpośredniego dostępu, aby uzyskać dostęp do właściwości usługi WMI klasy lub wystąpienia usługi WMI bezpośrednio w SWbemObject, a nie za pośrednictwem właściwości kolekcji tego obiektu. Można również wykonywać metody dla tego obiektu w natywnym stylu języka programowania, zamiast używać wywołania SWbemServices.ExecMethod. Na przykład metoda Create w Win32_Process miała trzy parametry w systemie Windows 2000, ale ma cztery parametry w systemie Windows Server 2003.

Przy użyciu bezpośredniego dostępu można traktować właściwości i metody WMI tak, jakby były właściwościami automatyzacji i metodami SWbemObject.

W poniższym przykładzie pokazano, jak można uzyskać dostęp do właściwości.

VolumeName = MyDisk.Properties_("VolumeName")

W poniższym przykładzie pokazano, jak można uzyskać dostęp do właściwości, gdy masz bezpośredni dostęp.

VolumeName = MyDisk.VolumeName

Łączenie obiektów jest również dopuszczalne.

W poniższym przykładzie pokazano, jak uzyskać dostęp do właściwości obiektu osadzonego w innym obiekcie.

value = MyComputer.MyDisk.VolumeName

W poniższym przykładzie pokazano, jak uzyskać dostęp do właściwości z notacją indeksu tablicy.

valueOfElement = MyDisk.MyArrayProperty(3)

Poniższy przykład kodu VBScript pokazuje, jak rozpocząć instancje parametrów wejściowych do metody Create w klasie Win32_Process jako SWbemObject, wypełnić właściwości wejściowe, a następnie wykonać metodę Create przy użyciu SWbemServices.ExecMethod.

Właściwość SWbemObject.Methods_ zwraca kolekcję SWbemMethodSet metod Win32_Process. Członowie zestawu metod to obiekty SWbemMethod, a SWbemMethod.InParameters zwraca parametry wejściowe dla metody Create. Wymagany parametr wejściowy wiersza polecenia jest ustawiony na "calc.exe". Metoda jest następnie wykonywana przez SWbemServices.ExecMethod, co powoduje uruchomienie 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

Poniższy przykład kodu pokazuje, jak wykonać poprzednią operację przy użyciu bezpośredniego dostępu.

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

Aby uzyskać więcej informacji, zobacz Wywoływanie metody dostawcy i Skryptowanie z SWbemObject.