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.
Table of Contents
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.
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.
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í.
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í.