Sdílet prostřednictvím


Vytváření klientů rozhraní WMI

WMI poskytuje standardizovanou infrastrukturu pro správu systému, kterou může využívat řada různých klientů. Tito klienti se můžou pohybovat od nástroje příkazového řádku wmic.exe až po System Center Operations Manager. Vlastní klienty rozhraní WMI můžete napsat buď pomocí rozhraní WMI Scripting API, nativního rozhraní C++ API, nebo pomocí typů v oboru názvů knihovny tříd System.Management .NET Framework.

Vytvoření klienta rozhraní WMI

Základní funkce rozhraní WMI se skládá z načítání objektů z úložiště WMI a zkoumání vlastností těchto objektů. Můžete také zvolit aktualizaci těchto vlastností nebo volání metod těchto vlastností. Následující příklady ukazují, jak provést základní úlohu správy rozhraní WMI: načtení názvu místního počítače.

Období Popis
Vytvoření klienta pomocí PowerShellu
Rozhraní WMI a PowerShell jsou úzce integrované; načtení objektů rozhraní WMI pomocí PowerShellu je jednoduše otázkou volání rutiny Get-WmiObject. Všimněte si, že pro konzistenci první fragment kódu explicitně uvádí mnoho výchozích hodnot; Druhý předpokládá, že výchozí hodnoty jsou správné.

PowerShell
              
              #explicitly uvádí mnoho výchozích parametrů $myComputer = Get-WmiObject -ComputerName "." -Namespace "root\cimv2" -Query "SELECT * FROM Win32_ComputerSystem" foreach ($computer v $myComputer) { "Název systému: " + $computer.name } 

#assumes the default values are correct Get-WmiObject Win32_ComputerSystem | Format-Table "Name"

Vytvoření klienta pomocí jazyka VBScript

VBScript byl původní skriptovací jazyk, který se běžně používal s rozhraním WMI. I když se PowerShell stal oblíbenějším, mnoho existujících ukázek kódu v této dokumentaci je napsané v jazyce VBScript. Všimněte si, že tato konkrétní ukázka jazyka VBScript explicitně uvádí cestu místního počítače i úroveň zosobnění; to není povinné, ale často se jedná o osvědčený postup.

VB
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
For Each objItem in colItems
    Wscript.Echo "Computer Name: " & objItem.Name
Next

Vytvoření klienta pomocí jazyka C# (Microsoft.Management.Infrastructure)

Tento obor názvů obsahuje aktuální řešení pro přístup k rozhraní WMI se spravovaným kódem a označuje se jako infrastruktura správy systému Windows (MI nebo WMIv2). V současné době je MI podporovanou technologií pro vytváření spravovaných klientů. Další informace najdete v tématu Jak implementovat spravovaného klienta MI a Jak implementovat nativního klienta MI .

C#
              
              pomocí Microsoft.Management.Infrastructure; ... CimSession session = CimSession.Create("localHost"); IEnumerable<CimInstance> queryInstance = session.QueryInstances(@"root\cimv2", "WQL", "SELECT * FROM Win32_ComputerSystem"); 

foreach (CimInstance cimObj in queryInstance) { Console.WriteLine(cimObj.CimInstanceProperties["Name"].ToString()); }

Vytvoření klienta pomocí jazyka C# (System.Management)

Tento obor názvů obsahuje původní řešení pro přístup k rozhraní WMI se spravovaným kódem. I když jsou třídy System.Management stále dostupné, jsou třídy Microsoft.Management.Infrastructure obecně efektivnější a lépe škálovatelné. Proto se doporučuje používat třídy MI místo původních tříd WMI.

C#
              
              pomocí Microsoft.Management.Infrastructure; ... CimSession session = CimSession.Create("localHost"); IEnumerable<CimInstance> queryInstance = session.QueryInstances(@"root\cimv2", "WQL", "SELECT * FROM Win32_ComputerSystem"); 

foreach (CimInstance cimObj in queryInstance) { Console.WriteLine(cimObj.CimInstanceProperties["Name"].ToString()); }

Následující tabulka uvádí témata, která jsou popsána v této části.

Námět Popis
připojení k rozhraní WMI na vzdáleném počítači Popisuje řadu problémů, ke kterým dochází, když klienti používají infrastrukturu rozhraní WMI ve vzdáleném počítači.
úlohy rozhraní WMI pro skripty a aplikace Ukazuje příklad kódu klienta rozhraní WMI.
vytvoření aplikace nebo skriptu rozhraní WMI Poskytuje informace o vytváření různých klientů rozhraní WMI.
monitorování dat o výkonu Popisuje, jak pomocí rozhraní WMI monitorovat údaje o výkonu.
Přijetí události WMI Popisuje, jak zobrazit události WMI.
Monitorování událostí Popisuje, jak monitorovat události rozhraní WMI.
Dotazování prostřednictvím WQL Představuje dotazovací jazyk WMI (WQL).
dotazování na stav volitelných funkcí Ve Windows 7 služba WMI implementovala třídu Win32_OptionalFeature. Tato třída načte stav volitelných funkcí, které jsou přítomné na počítači.
popis umístění objektu WMI Zaměřuje se na syntaxi popisující umístění spravované entity rozhraní WMI.
přístup k jiným funkcím operačního systému pomocí rozhraní WMI Popisuje, jak psát klienty rozhraní WMI, které přistupují k ovladačům zařízení, službě Active Directory a zařízením SNMP.
Přístup k datům v jmenném prostoru Interop Zprostředkovatelé přidružení umožňují klientům WMI (Windows Management Instrumentation) procházet a načítat profily a přidružené instance tříd z různých oborů názvů.
Manipulování s informacemi o třídě a instanci Popisuje běžné úlohy, které musí klienti rozhraní WMI provádět.
propojení tříd Popisuje zprostředkovatele zobrazení a jeho použití k propojení informací z více tříd rozhraní WMI.
Úpravy systémového registru Popisuje, jak můžou klienti rozhraní WMI používat rozhraní WMI ke správě informací o systémovém registru.