Rövid útmutató a Windows Management Instrumentationről (WMI)

A Windows-alapú operációs rendszerek felügyeleti információinak és tevékenységeinek keretrendszerét Windows Management Instrumentationnek (WMI) hívják.

A WMI kezelési adatokat is biztosít az operációs rendszer és a termékek más összetevőihez, például az SCOM-hoz (System Center Operations Manager) vagy a Windows Remote Managementhez.

Mi az a Windows Management Instrumentation (WMI?)

A WMI egy platform az operációs rendszer és más Microsoft-alkalmazások és -szolgáltatások kezelésére és felügyeletére személyi számítógépeken, szervereken és egyéb hálózati eszközökön.

A WMI átfogó, méretezhető és könnyen használható programozási felületet biztosít, amely programozott hozzáférést biztosít a Microsoft által felügyelt számítógépeken és egyéb hálózati eszközökön található információkhoz és szolgáltatásokhoz.

A számítógépen található operációs rendszer, szolgáltatások és alkalmazások, valamint a rendszerleíró adatbázis és a fájlrendszer adatainak felfedezésére és figyelésére szolgál. Szkriptek és programok létrehozására és kezelésére is használják, amelyek automatizálják a számítógép kezelését és adminisztrációját.

A WQL (Windows Query Language) programozási nyelvet használja információk lekérdezéséhez és műveletek végrehajtásához az operációs rendszeren, a számítógépeken és az eszközökön.

Ezenkívül hozzáférést biztosít a PowerShellhez, amely a Windows egyik leghatékonyabb és legrugalmasabb adminisztrációs eszköze, amelyet automatizálási parancsfájlok létrehozására használhat.

Ezenkívül a WMI lehetővé teszi egyéni alkalmazások létrehozását, amelyek további funkciókat biztosítanak a Windows rendszerek és alkalmazások kezeléséhez és adminisztrációjához.

Azok a felhasználók, akiknek figyelniük kell gépeik állapotát, alapvető hibaelhárítást kell végezniük, és teljesítményadatokat kell gyűjteniük, a WMI-t hasznosnak találják.

Mi a WMI célja?

A WMI hasznos a Windows vállalati hálózatokban, mert leegyszerűsíti a vállalati hálózati összetevők működését és kezelését azáltal, hogy adatokat továbbít más termékekhez a további fejlesztés és méretezhetőség érdekében.

A WMI teljes célja, hogy egységes felügyeleti keretrendszert biztosítson a Windows rendszer minden területén, például:

  • Operációs rendszer összetevői
  • Folyamatok és szálak
  • Szolgáltatások
  • Eszközök
  • Drivers
  • Alkalmazások
  • Felhasználói fiókok
  • Biztonsági beállítások

A WMI találmány célja a Windows rendszerekkel kapcsolatos üzemeltetési és fejlesztési költségek és idő csökkentése. A WMI lehetővé teszi a rendszeresemények figyelését és a teljesítményadatok gyűjtését is. Ezek az adatok a problémák hibaelhárítására vagy az időbeli trendek nyomon követésére használhatók.

A WMI-t leggyakrabban az adminisztratív feladatok automatizálására és az adatokhoz való hozzáférésre használják anélkül, hogy közvetlenül az operációs rendszerrel kellene foglalkozniuk. Ennek eredményeként a WMI fantasztikus alternatíva a rendszergazdák és szoftverfejlesztők számára, akiknek automatizálniuk kell az időigényes folyamatokat.

A rendszer teljesítményének figyelésétől az alkalmazásadatok beszerzéséig minden lehetséges vele. Lehetővé teszi a fejlesztők számára, hogy intelligensebb, intelligensebb alkalmazásokat hozzanak létre, miközben azt is biztosítja, hogy az informatikai rendszergazdák minimális erőfeszítéssel végezhessék el feladataikat.

A WMI referencia implementációt biztosít a rendszerinformációk eléréséhez, és kulcsfontosságú eszköz a Windows rendszerek kezeléséhez és felügyeletéhez. Ez az Azure Machine Learning és az AzureML sarokköve, és harmadik féltől származó termékek széles körének működtetésére szolgál.

  Hogyan lehet automatikusan bezárni az Edge böngészőt, amikor a Windows 10 megnyitja

WMI használata

A Windows Management Instrumentation (WMI) a Microsoft Web-Based Enterprise Management (WBEM) szolgáltatása, amely egy iparági kezdeményezés a vállalatirányítási információk elérésére szolgáló szabványos technológiák fejlesztésére.

A WMI a Common Information Model (CIM) ipari szabványt használó rendszereket, alkalmazásokat, hálózatokat, eszközöket és egyéb felügyelt összetevőket képviseli. Az elosztott felügyeleti munkacsoport (DMTF) hozza létre és tartja karban a CIM-et.

A WMI tervezése sokoldalú, az adminisztrációs és felügyeleti feladatok széles skáláját támogatja, valamint rugalmas és bővíthető architektúrát biztosít, amely lehetővé teszi a gyártók számára, hogy új WMI-szolgáltatókat írjanak az új eszközök, alkalmazások és egyéb fejlesztések támogatására.

Egyéb felhasználási területek:

  • A Windows operációs rendszer és a Microsoft hálózati eszközök és szolgáltatások átfogó kezelése.
  • Használható a távoli számítógépek csatlakoztatására a WMI adatok eléréséhez
  • Információkat talál a rendszerről, például milyen programok futnak és milyen szolgáltatások vannak beállítva.
  • Hardverspecifikációkkal kapcsolatos információk lekérése és műveletek végrehajtása, például a rendszer leállítása vagy újraindítása.
  • Alkalmazások indítása, indítás, leállítás, szolgáltatások konfigurálása és adatok elérése.
  • A felügyeleti alkalmazások fejlesztői ezt az API-t használhatják parancsfájlok létrehozására Visual Basic vagy Windows Scripting Host (WSH) rendszerben.

WMI architektúra

A WMI (Windows Management Instrumentation) egy Microsoft-technológia, amelyet eredetileg a Windows 2000-ben mutattak be. Lehetővé teszi a programozók számára, hogy olyan felügyeleti programokat hozzanak létre, amelyek bármilyen WMI-t támogató rendszerrel működnek.

Lássuk a WMI architektúráját és terminológiáját.

A WMI architektúra folyamata az objektumokból indul ki: Egy olyan összetevő, mint a merevlemez, a hálózati kártya, az operációs rendszer vagy a szolgáltatás, egy felügyelt objektum (amely WMI-n keresztül kezelhető). A WMI infrastruktúra egy szolgáltatón keresztül fogad adatokat egy objektumtól. Üzeneteket biztosít és fogad a WMI-től, és átadja azokat az objektumnak.

A WMI-szolgáltató egy DLL-ből és egy felügyelt objektumformátumú (MOF) fájlból áll, amely figyeli az objektumokból származó eseményeket és adatokat. A WMI kategorizálja a szolgáltatókat a szolgáltatói felület által biztosított funkcionalitás szerint.

Számos beépített WMI-szolgáltató található a Windows rendszerben, beleértve az Active Directory szolgáltatót, a Boot Configuration Data (BCD) WMI szolgáltatót, az elosztott fájlrendszer (DFS) szolgáltatót, az eseménynapló szolgáltatót, a Hyper-V WMI szolgáltatót, a Win32 szolgáltatót, a Registry szolgáltatót, és SNMP szolgáltató.

A WMI infrastruktúra a Microsoft Windows operációs rendszer egyik összetevője, amely WMI szolgáltatásként (winmgmt) ismert. A WMI Core és a WMI Repository a WMI infrastruktúra két része.

A WMI-tár egy hierarchikus adattároló, amelyet WMI-névterek szerveznek, és gyakran Common Information Model (CIM) néven is ismertek. A WMI szolgáltatás számos névteret hoz létre a rendszer indításakor, beleértve a root alapértelmezett, a rootcimv2 és a root előfizetést.

Ezenkívül a szolgáltatás létrehozza az osztálydefiníciók alapértelmezett készletét, amely tartalmazza a Win32 és WMI rendszerosztályokat. Más WMI-névtereket további WMI-szolgáltatók hozhatnak létre, és minden névtér több WMI-objektumot tartalmaz.

  Hogyan lehet megállapítani, hogy melyik alkalmazás vagy folyamat használ USB-t a Windows rendszerben

A WMI-szolgáltatás közvetítőként működik a szolgáltatók, a felügyeleti alkalmazások és a WMI-tárhely között. Az objektumokról csak statikus adatok tárolódnak a lerakatban, például a szolgáltatók által meghatározott osztályok. A WMI dinamikusan szerzi be a legtöbb adatot a szolgáltatótól, amikor az ügyfél kéri.

A WMI fogyasztó egy felügyeleti alkalmazás vagy szkript, amely kommunikál a WMI infrastruktúrával. A COM API for WMI vagy a Scripting API for WMI használatával a kezelőprogramok lekérdezhetnek, tételezhetnek adatokat, futtathatnak szolgáltatói metódusokat és feliratkozhatnak az eseményekre.

A WMI szabványos felületet hoz létre a felügyeleti adatok távoli és helyi lekéréséhez. Az egységes felület elvonatkoztat az operációs rendszer alkalmazásprogramozási felületeitől (API-k). Ez lehetővé teszi az alkalmazásoknak és szkripteknek, hogy felügyeleti adatokat gyűjtsenek anélkül, hogy ismerniük kellene az operációs rendszer API-ját.

Hogyan lehet WMI-lekérdezést futtatni?

A WMI-platform sokoldalúságának egyik jellemzője az a képesség, hogy lekérdezheti a lerakatát az osztály-, példány- vagy sémaadatok részleteinek megszerzése érdekében. Ezek a mutatók a helyi és távoli rendszerek, operációs rendszerek, szoftverek és egyéb adminisztrációs tevékenységek leltárához kapcsolódnak.

Lekérdezések típusa

Általánosságban véve kétféle lekérdezés használható a WMI-lerakatból való információk lekérésére:

Szinkron lekérdezés: Ez egy olyan lekérdezés, amely a lekérdezés során irányítja az alkalmazás működését. Könnyebb, mint egy aszinkron hívás, mert csak egy interfész hívást vesz igénybe. Nagy keresések vagy hálózati alapú lekérdezések esetén azonban lefagyhat az alkalmazás.

Aszinkron lekérdezés: Ha egy rendszer vagy hálózat sebességét egy jelentős adatcsoport lekérdezése befolyásolja, az aszinkron lekérdezést érdemes használni.

WQL (WMI lekérdezési nyelv)

A WMI lekérdezésének egyik népszerű módja a WMI lekérdezési nyelv.

Az SQL-t (Structured Query Language) használják az adatbázis-környezetben, a WQL-t pedig a WMI-ben. Mindkettőnek hasonló a szintaktikai felépítése.

A Select, From és Where a lekérdezés elindításához használt alapvető WQL utasítások.

Egy tipikus WMI-lekérdezés azzal kezdődik, hogy a „Select” paranccsal kiválasztja a WMI-osztály összes tulajdonságát. A csillag („*”) a WMI-osztály minden tulajdonságának kiválasztására szolgál. A „From” kulcsszóval a tulajdonságok (egy vagy több tulajdonság, vagy az összes) kiválasztása után megadhatjuk a lekérdezendő WMI osztályt. A pontos szintaxist az SQL cheatsheet-ben ellenőrizheti.

A WQL a WMI Tester (wbemtest.exe) segítségével hajtható végre, amely alapértelmezés szerint telepítve van a Windows operációs rendszerrel. A WMI-lekérdezések Windows PowerShell, VBScript és C nyelven keresztül is végrehajthatók.

WQL lekérdezések típusa

A WQL-lekérdezéseket három különböző típusú információ megszerzésére használják.

Objektumlekérdezések: Ezekkel a lekérdezésekkel lekérhetők a Windows rendszererőforrásaira vonatkozó információk.

Eseménylekérdezések: Ezek a lekérdezések az eseménynaplók változásainak, a folyamatok indításának, a szolgáltatások állapotának, a számítógépek elérhetőségének vagy a szabad lemezterület mennyiségének nyomon követésére szolgálnak, többek között egyéb entitások vagy események.

Sémalekérdezések: Ezek a lekérdezések a WMI-séma szerkezetére vonatkozó részletek megszerzésére szolgálnak.

Lekérdezés futtatása

Nézzük meg, hogyan lehet objektumlekérdezést futtatni.

A következő módszer a WIN_32 folyamatok helyi rendszeren történő ellenőrzését írja le.

A WMI Tester eszköz a parancssoron keresztül fut le a wbemtest.exe fájl beírásával.

A következő ablak jelenik meg.

  A hiányzó csempeikonok javítása a Start menüben Windows 10 rendszeren

A lekérdezni kívánt osztályt tartalmazó WMI névtérhez (a legtöbb esetben RootCimv2) való csatlakozáshoz kattintson a Connect fülre.

A lekérdezés futtatásához kattintson a „Lekérdezés” fülre az alábbiak szerint:

Ezután adja meg a lekérdezést, amelyhez az információkat le szeretné kérni. Például lekérjük a helyi rendszeren futó összes folyamatot a következő futtatással:

select * From Win32_process

Az Alkalmazás fülre kattintva az alábbi eredményeket kapja

A fenti GUI-alapú végrehajtás parancssorból is végrehajtható a PowerShell-en keresztül:

A PowerShell platformon az összes win_32 folyamat listájának lekéréséhez az alábbi kódot kell használni:

Get-WmiObject -Class Win32_Process

Az összes PowerShell-lekérdezési paraméter eléréséhez látogassa meg a Microsoft PowerShell kezelés oldalon.

A lekérdezés VBScript és C nyelven történő futtatásához a Microsoft dokumentációs oldal teljes betekintést nyújtana.

A WMI-tároló lekérdezésének másik módja a WMIC parancs:

  • Futtassa a CMD-t parancssorból
  • Írja be a WMIC-et, és írja be a program elindításához
  • Ezután a parancssor a következőre változik: wmic:rootcli>

A rendszergazdák WMI-lekérdezéseket futtathatnak ebből a promptból.

Például egy helyi rendszer CPU információinak betöltéséhez a parancs a következő lesz:

wmic:rootcli> WMIC CPU

Az eredmények/információk megjelennek a parancssorban.

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

A WMIC aliasokról és igékről további információért látogasson el a következő oldalra Microsoft wmic.

GYIK a WMI-ről

Milyen portokat használ a WMI?

A használt portok a 49152 és 65535. A WMI alapjául szolgáló Distributed Component Object Model (DCOM) alapértelmezés szerint véletlenszerűen kiválasztott TCP portot használ a 49152 és 65535 közötti kapcsolatokhoz.

A WMI elavult?

A WMI továbbra is támogatott. A Windows 10 21H1 verziója és a Windows Server 21H1 féléves csatornakiadása óta a WMI parancssori (WMIC) program már nem támogatott.

Mik azok a WMI-figyelő eszközök?

Számos eszköz áll rendelkezésre a WMI figyelésére. Egy maroknyi azonban különösen népszerű:
SolarWinds WMI monitor szerverrel és alkalmazásfigyelővel
Paessler WMI szervizérzékelő PRTG-vel
Nagios XI
Sapien WMI Explorer
Az ingyenes eszközök a WMI Explorer és az Adrem Free WMI Tools

WMI-problémák elhárítása

A hiányzó osztályoktól a hozzáférési jogsértésekig terjedő hibákat láthat, amikor egy alkalmazásban vagy parancsfájlban WMI helyi vagy távoli adataihoz szeretne hozzáférni. Ellenőrizd a Microsoft WMI hibaelhárítási útmutató hogy megoldást kapjunk az ilyen hibákra.

Következtetés

Általánosságban elmondható, hogy a Windows Management Instrumentation egy erős eszköz, amely a Windows rendszerrel kapcsolatos különféle funkciók széles körének kezelésére használható. A WMI nagyon hasznos eszköz lehet bárki számára, aki Windows rendszerekkel foglalkozik, annak ellenére, hogy kezdetben ijesztőnek tűnhet.