Stručný průvodce o Windows Management Instrumentation (WMI)

Rámec pro správu informací a činností v operačních systémech založených na Windows se nazývá Windows Management Instrumentation (WMI).

WMI také poskytuje data pro správu dalším součástem operačního systému a produktům, jako je SCOM (System Center Operations Manager) nebo Windows Remote Management.

Co je Windows Management Instrumentation (WMI?)

WMI je platforma pro správu a monitorování operačního systému a dalších aplikací a služeb společnosti Microsoft na osobních počítačích, serverech a dalších síťových zařízeních.

WMI poskytuje komplexní, škálovatelné a snadno použitelné programovací rozhraní, které poskytuje programový přístup k informacím a službám na počítačích spravovaných společností Microsoft a dalších síťových zařízeních.

Používá se k zjišťování a sledování operačního systému, služeb a aplikací v počítači, jakož i dat registru a systému souborů. Používá se také k vytváření a správě skriptů a programů, které automatizují správu a správu počítače.

Využívá programovací jazyk WQL (Windows Query Language) k dotazování na informace a provádění operací na operačním systému, počítačích a zařízeních.

Poskytuje vám také přístup k PowerShellu, jednomu z nejvýkonnějších a nejflexibilnějších nástrojů pro správu pro Windows, který můžete použít k vytváření automatizačních skriptů.

Kromě toho vám WMI umožňuje vytvářet vlastní aplikace, které poskytují další funkce pro správu a správu systémů a aplikací Windows.

Uživatelé, kteří potřebují sledovat stav svých strojů, provádět základní odstraňování problémů a shromažďovat data o výkonu, najdou WMI užitečné.

Jaký je účel WMI?

WMI je užitečné v podnikové síti Windows, protože zjednodušuje provoz a správu komponent podnikové sítě tím, že dodává data do jiných produktů pro další vylepšení a škálovatelnost.

Celým účelem WMI je poskytnout jednotný rámec pro správu napříč všemi aspekty systému Windows, jako jsou:

  • Komponenty operačního systému
  • Procesy a vlákna
  • Služby
  • Zařízení
  • Řidiči
  • Aplikace
  • Uživatelské účty
  • Bezpečnostní nastavení

Účel vynálezu WMI vede ke snížení nákladů a času při operacích a vývoji souvisejících se systémy Windows. WMI také umožňuje sledovat systémové události a shromažďovat data o výkonu. Tato data lze použít k řešení problémů nebo ke sledování trendů v čase.

WMI se nejčastěji používá k automatizaci administrativních prací a získání přístupu k datům bez přímého jednání s operačním systémem. V důsledku toho je WMI fantastickou alternativou pro správce a vývojáře softwaru, kteří potřebují automatizovat časově náročné procesy.

S ním je možné vše od monitorování výkonu systému až po získávání aplikačních dat. Umožňuje vývojářům vytvářet chytřejší a inteligentnější aplikace a zároveň zajišťuje, že správci IT mohou dokončit své úkoly s minimálním úsilím.

WMI poskytuje referenční implementaci pro přístup k systémovým informacím a je klíčovým nástrojem pro správu a monitorování systémů Windows. Je to základní kámen pro Azure Machine Learning a AzureML a používá se k napájení celé řady produktů třetích stran.

  Proč brána Windows Defender blokuje některé funkce aplikací?

Použití WMI

Windows Management Instrumentation (WMI) je produkt společnosti Microsoft pro Web-Based Enterprise Management (WBEM), průmyslovou iniciativu pro vývoj standardizovaných technologií pro přístup k informacím o správě podniku.

WMI představuje systémy, aplikace, sítě, zařízení a další spravované součásti využívající průmyslový standard Common Information Model (CIM). Distributed Management Task Force (DMTF) vytváří a udržuje CIM.

Návrh WMI je všestranný, podporuje širokou škálu administrativních a manažerských povinností a také poskytuje flexibilní a rozšiřitelnou architekturu, která výrobcům umožňuje vytvářet nové poskytovatele WMI pro podporu nových zařízení, aplikací a dalších vylepšení.

Další použití jsou:

  • Komplexní správa operačního systému Windows a síťových zařízení a služeb společnosti Microsoft.
  • Lze jej použít k připojení vzdálených počítačů pro přístup k datům WMI
  • Zjišťuje informace o systému, například jaké programy jsou spuštěny a jaké služby jsou nastaveny.
  • Chcete-li získat informace o specifikacích hardwaru a provést akce, jako je vypnutí nebo restartování systému.
  • Spouštění aplikací, spouštění, zastavování, konfigurace služeb a přístup k datům.
  • Vývojáři aplikací pro správu mohou použít toto rozhraní API k vytváření skriptů ve Visual Basic nebo Windows Scripting Host (WSH).

Architektura WMI

WMI (Windows Management Instrumentation) je technologie společnosti Microsoft původně představená v systému Windows 2000. Umožňuje programátorům vytvářet programy pro správu, které pracují s jakýmkoli systémem, který podporuje WMI.

Podívejme se na architekturu a terminologii WMI.

Tok architektury WMI začíná od objektů: Komponenta, jako je pevný disk, síťová karta, operační systém nebo služba, je spravovaný objekt (který lze spravovat prostřednictvím WMI). Infrastruktura WMI přijímá data z objektu prostřednictvím poskytovatele. Poskytuje a přijímá zprávy z WMI a předává je objektu.

Poskytovatel WMI obsahuje knihovnu DLL a soubor MOF (Managed Object Format), který monitoruje události a data z objektů. WMI kategorizuje poskytovatele podle funkčnosti poskytované rozhraním poskytovatele.

Ve Windows existuje mnoho integrovaných poskytovatelů WMI, včetně poskytovatele služby Active Directory, poskytovatele WMI spouštěcích konfiguračních dat (BCD), poskytovatele distribuovaného systému souborů (DFS), poskytovatele protokolu událostí, poskytovatele Hyper-V WMI, poskytovatele Win32, poskytovatele registru, a poskytovatel SNMP.

Infrastruktura WMI je součást operačního systému Microsoft Windows známá jako služba WMI (winmgmt). WMI Core a WMI Repository jsou dvě části WMI infrastruktury.

Úložiště WMI je hierarchické úložiště dat organizované jmennými prostory WMI, často známé jako Common Information Model (CIM). Služba WMI vytvoří při spuštění systému řadu jmenných prostorů, včetně výchozího nastavení root, rootcimv2 a předplatného root.

Kromě toho služba vytváří výchozí sadu definic tříd, která zahrnuje systémové třídy Win32 a WMI. Další obory názvů WMI mohou být vytvořeny dalšími poskytovateli WMI a každý obor názvů obsahuje několik objektů WMI.

Služba WMI funguje jako prostředník mezi poskytovateli, aplikacemi pro správu a úložištěm WMI. V úložišti jsou uložena pouze statická data o objektech, jako jsou třídy definované poskytovateli. WMI získává většinu dat dynamicky od poskytovatele, když je klient požaduje.

  Jak opravit kód chyby 0x800704cf v systému Windows 10

Zákazník WMI je aplikace nebo skript pro správu, který komunikuje s infrastrukturou WMI. Pomocí rozhraní COM API for WMI nebo Scripting API for WMI může program pro správu dotazovat, rozdělovat data, spouštět metody poskytovatele a přihlašovat se k odběru událostí.

WMI vytváří standardizované rozhraní pro vzdálené a místní získávání dat správy. Jednotné rozhraní abstrahuje od aplikačních programovacích rozhraní (API) operačního systému. To umožňuje aplikacím a skriptům shromažďovat data správy, aniž by potřebovaly znát rozhraní API operačního systému.

Jak spustit dotaz WMI?

Rysem všestrannosti platformy WMI je schopnost dotazovat se na její úložiště za účelem získání podrobností o datech třídy, instance nebo schématu. Tyto metriky jsou propojeny s inventářem místních a vzdálených systémů, operačních systémů, softwaru a dalších administrativních činností.

Typ dotazů

Obecně existují dva typy dotazů používaných k získávání informací z úložiště WMI:

Synchronní dotaz: Je to dotaz, který udržuje kontrolu nad provozem vaší aplikace během dotazu. Je to jednodušší než asynchronní volání, protože trvá pouze jedno volání rozhraní. V případě rozsáhlých vyhledávání nebo síťových dotazů však může dojít k zamrznutí vaší aplikace.

Asynchronní dotaz: Pokud bude rychlost systému nebo sítě ovlivněna dotazováním na velkou skupinu dat, je vhodnější použít asynchronní dotaz.

WQL (dotazovací jazyk WMI)

Jednou z populárních metod dotazování WMI je dotazovací jazyk WMI.

V databázovém prostředí se používá SQL (Structured Query Language) a ve WMI se používá WQL. Oba mají podobnou strukturu syntaxe.

Vybrat, Od a Kde jsou základní příkazy WQL, které se používají ke spuštění dotazu.

Typický dotaz WMI začíná výběrem všech vlastností z třídy WMI pomocí příkazu „Vybrat“. Hvězdička („*“) se používá k výběru každé vlastnosti ze třídy WMI. Klíčové slovo „From“ lze použít k určení třídy WMI, na kterou se má dotazovat po výběru vlastností (jedna nebo více vlastností nebo všechny). Přesnou syntaxi můžete zkontrolovat v cheatsheetu SQL.

WQL lze spustit pomocí nástroje WMI Tester (wbemtest.exe), který je standardně nainstalován s operačním systémem Windows. Dotazy WMI lze také spouštět prostřednictvím prostředí Windows PowerShell, VBScript a jazyka C.

Typ dotazů WQL

Dotazy WQL se používají k získání tří různých typů informací.

Objektové dotazy: Pomocí těchto dotazů lze získat informace o systémových prostředcích Windows.

Dotazy událostí: Tyto dotazy se používají ke sledování změn v protokolech událostí, zahájení procesů, stavu služeb, dostupnosti počítačů nebo množství volného místa na disku, mimo jiné entitami nebo událostmi.

Dotazy na schéma: Tyto dotazy se používají k získání podrobností o struktuře schématu WMI.

Spuštění dotazu

Podívejme se, jak spustit objektový dotaz.

Následující metoda uvádí, jak zkontrolovat procesy WIN_32 v místním systému.

Nástroj WMI Tester se spouští z příkazového řádku zadáním wbemtest.exe.

Zobrazí se následující okno.

Chcete-li se připojit k oboru názvů WMI, který obsahuje třídu, kterou chcete dotazovat (ve většině případů RootCimv2): klikněte na kartu připojení.

  Jak zjistit, která aplikace snižuje rychlost vašeho internetu ve Windows

Chcete-li spustit dotaz, klikněte na kartu „Dotaz“, jak je uvedeno níže:

Poté zadejte dotaz, pro který chcete získat informace. Pojďme například načíst všechny procesy běžící na místním systému spuštěním:

select * From Win32_process

Po kliknutí na záložku použít získáte níže uvedené výsledky

Výše uvedené spouštění založené na GUI lze také provést na příkazovém řádku prostřednictvím PowerShell:

Na platformě PowerShell se k získání seznamu všech procesů win_32 používá níže uvedený kód:

Get-WmiObject -Class Win32_Process

Chcete-li získat všechny parametry dotazu PowerShell, navštivte stránku Správa Microsoft PowerShell strana.

Chcete-li spustit tento dotaz v jazyce VBScript a C, Stránka dokumentace společnosti Microsoft poskytne kompletní přehled.

Další metodou dotazu na úložiště WMI je příkaz WMIC:

  • Spusťte CMD z příkazového řádku
  • Zadejte WMIC a zadejte pro spuštění programu
  • Poté se příkazový řádek změní na wmic:rootcli>

Správci mohou spouštět dotazy WMI z této výzvy.

Chcete-li například načíst informace o CPU místního systému, příkaz bude:

wmic:rootcli> WMIC CPU

Výsledky/informace se zobrazí v příkazovém řádku.

AddressWidth  Architecture  AssetTag                Availability  Caption                                 Characteristics  ConfigManagerErrorCode  ConfigManagerUserConfig  CpuStatus  CreationClassName  CurrentClockSpeed  CurrentVoltage  DataWidth  Description                             DeviceID  ErrorCleared  ErrorDescription  ExtClock  Family  InstallDate  L2CacheSize  L2CacheSpeed  L3CacheSize  L3CacheSpeed  LastErrorCode  Level  LoadPercentage  Manufacturer  MaxClockSpeed  Name                                      NumberOfCores  NumberOfEnabledCore  NumberOfLogicalProcessors  OtherFamilyDescription  PartNumber              PNPDeviceID  PowerManagementCapabilities  PowerManagementSupported  ProcessorId       ProcessorType  Revision  Role  SecondLevelAddressTranslationExtensions  SerialNumber            SocketDesignation  Status  StatusInfo  Stepping  SystemCreationClassName  SystemName  ThreadCount  UniqueId  UpgradeMethod  Version  VirtualizationFirmwareEnabled  VMMonitorModeExtensions  VoltageCaps
64            9             To Be Filled By O.E.M.  3             Intel64 Family 6 Model 142 Stepping 10  252                                                               1          Win32_Processor    1801               7               64         Intel64 Family 6 Model 142 Stepping 10  CPU0                                      100       205                  1024                       6144         0                            6      31              GenuineIntel  1801           Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz  4              4                    8                                                  To Be Filled By O.E.M.                                            FALSE                     BFEBFBFF000806EA  3                        CPU   TRUE                                     To Be Filled By O.E.M.  U3E1               OK      3                     Win32_ComputerSystem     RENEE-HP     8                      51                      FALSE                          TRUE

Další informace o aliasu a slovesech WMIC naleznete na adrese Microsoft wmic.

Často kladené otázky o WMI

Jaké porty se používají ve WMI?

Používané porty jsou 49152 a 65535. Model DCOM (Distributed Component Object Model), na kterém je WMI založeno, používá ve výchozím nastavení náhodně vybraný port TCP pro připojení mezi rozsahem 49152 a 65535.

Je WMI zastaralé?

WMI je stále podporováno. Od systému Windows 10, verze 21H1 a pololetního vydání kanálu 21H1 systému Windows Server již není podporován program příkazového řádku WMI (WMIC).

Co jsou nástroje pro monitorování WMI?

Pro sledování WMI je k dispozici mnoho nástrojů. Obzvláště populárních je však hrstka:
SolarWinds WMI Monitor s monitorováním serveru a aplikací
Servisní senzor Paessler WMI s PRTG
Nagios XI
Sapien WMI Explorer
Bezplatné nástroje jsou WMI Explorer, Adrem Free WMI Tools

Jak řešit problémy s WMI

Při pokusu o přístup k místním nebo vzdáleným datům WMI v aplikaci nebo skriptu můžete zaznamenat chyby od chybějících tříd až po narušení přístupu. Zkontrolovat Průvodce řešením problémů se službou Microsoft WMI získat řešení takových chyb.

Závěr

Windows Management Instrumentation je obecně silný nástroj, který lze použít ke zpracování široké škály různých funkcí souvisejících se systémem Windows. WMI může být velmi užitečným nástrojem pro každého, kdo se zabývá systémy Windows, navzdory skutečnosti, že se zpočátku může zdát zastrašující.