Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
WMI tillhandahåller en mängd olika tekniker för att hämta och manipulera WMI-klass- och instansinformation med hjälp av Microsoft PowerShell, Visual Basic Scripting Edition (VBScript) och C++.
I följande tabell visas de ämnen som beskriver teknikerna för att hämta och manipulera WMI-klass och instansinformation.
Ämne | Beskrivning |
---|---|
Hämtar en WMI-klass eller instansdata | Hämta och ange data från och till WMI-informationslagringsplatsen. |
Ändra en instansegenskap | Ändra informationen i instansen efter att den har hämtats. |
Ändra arv av en instans | Ändra den överordnade klassen för en instans. |
Ändra en metod | Ändra parametrarna för en instans. |
räkna upp WMI- | Räkna upp WMI-objekt. |
Förfrågan mot WMI | Hämta WMI-objekt. |
anropar en metod | Använd associerade metoder som skapats av Microsoft eller andra tredjepartsutvecklare för att ytterligare manipulera WMI-objekt, eller annars påverka det objekt som WMI-objektet representerar direkt. |
åtkomst till en samling | Räkna upp samlingar i skript. |
Manipulera data med VBScript
Du kan använda direktåtkomst för att komma åt WMI-egenskaperna för en WMI-klass eller instans direkt på en SWbemObject-i stället för via egenskapen samling för objektet. Du kan också köra metoder på objektet i programmeringsspråkets interna format i stället för att använda SWbemServices.ExecMethod-anrop. Till exempel hade metoden Create i Win32_Process tre parametrar i Windows 2000 men har fyra parametrar i Windows Server 2003.
Med direkt åtkomst kan du behandla WMI-egenskaper och -metoder som om de vore automatiseringsegenskaper och metoder för SWbemObject.
I följande exempel visas hur man kommer åt en egenskap.
VolumeName = MyDisk.Properties_("VolumeName")
I följande exempel visas hur du kan komma åt en egenskap när du har direkt åtkomst.
VolumeName = MyDisk.VolumeName
Länkning av objekt är också acceptabelt.
I följande exempel visas hur du kommer åt en egenskap för ett objekt som är inbäddat i ett annat objekt.
value = MyComputer.MyDisk.VolumeName
I följande exempel visas hur du kommer åt en egenskap med arrayens hakparentesnotation.
valueOfElement = MyDisk.MyArrayProperty(3)
Följande VBScript-kodexempel visar hur du skapar en instans av indataparametrarna till metoden Create i klassen Win32_Process som en SWbemObject-, fyller i indataegenskaperna och kör sedan metoden Skapa med hjälp av SWbemServices.ExecMethod.
Egenskapen SWbemObject.Methods_ returnerar en SWbemMethodSet- samling av de Win32_Process metoderna. Medlemmarna i metoduppsättningen är SWbemMethod objekt och SWbemMethod.InParameters returnerar indataparametrarna för metoden Create. Den obligatoriska inparametern för kommandorad är inställd på "calc.exe". Metoden körs sedan av SWbemServices.ExecMethod, vilket resulterar i att en calc.exe process startas.
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
I följande kodexempel visas hur du utför den tidigare åtgärden med direkt åtkomst.
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
Mer information finns i Anropa en providermetod och skript med SWbemObject.