Кратко ръководство за Windows Management Instrumentation (WMI)

Рамката за информация за управление и дейности на базирани на Windows операционни системи се нарича Windows Management Instrumentation (WMI).

WMI също предоставя данни за управление на други компоненти на операционната система и продукти, като SCOM (System Center Operations Manager) или Windows Remote Management.

Какво е Windows Management Instrumentation (WMI?)

WMI е платформа за управление и наблюдение на операционната система и други приложения и услуги на Microsoft на персонални компютри, сървъри и други мрежови устройства.

WMI предоставя цялостен, мащабируем и лесен за използване интерфейс за програмиране, който осигурява програмен достъп до информация и услуги на управлявани от Microsoft компютри и други мрежови устройства.

Използва се за откриване и наблюдение на операционната система, услугите и приложенията на компютъра, както и данните в регистъра и файловата система. Използва се и за създаване и управление на скриптове и програми, които автоматизират управлението и администрирането на компютъра.

Той използва езика за програмиране WQL (Windows Query Language) за запитване на информация и извършване на операции в операционната система, компютрите и устройствата.

Освен това ви дава достъп до PowerShell, един от най-мощните и гъвкави инструменти за администриране за Windows, който можете да използвате за създаване на скриптове за автоматизация.

Освен това WMI ви позволява да създавате персонализирани приложения, които предоставят допълнителна функционалност за управление и администриране на Windows системи и приложения.

Потребителите, които трябва да наблюдават състоянието на своите машини, да извършват основно отстраняване на проблеми и да събират данни за производителността, ще намерят WMI за полезен.

Каква е целта на WMI?

WMI е полезен в корпоративна мрежа на Windows, тъй като опростява работата и управлението на корпоративните мрежови компоненти, като доставя данни на други продукти за по-нататъшно подобряване и мащабируемост.

Цялата цел на WMI е да предостави унифицирана рамка за управление във всички аспекти на Windows система, като например:

  • Компоненти на операционната система
  • Процеси и нишки
  • Услуги
  • устройства
  • Шофьори
  • Приложения
  • Потребителски акаунти
  • Настройки на сигурността

Целта на изобретението WMI води до намаляване на разходите и времето в операциите и разработката, свързани с Windows системи. WMI също ви позволява да наблюдавате системни събития и да събирате данни за производителността. Тези данни могат да се използват за отстраняване на проблеми или за проследяване на тенденции във времето.

WMI най-често се използва за автоматизиране на административни задължения и получаване на достъп до данни, без да се занимава директно с операционната система. В резултат на това WMI е фантастична алтернатива за администратори и разработчици на софтуер, които трябва да автоматизират отнемащи време процеси.

С него е възможно всичко от наблюдение на производителността на системата до получаване на данни за приложения. Той позволява на разработчиците да създават по-интелигентни, по-интелигентни приложения, като същевременно гарантира, че ИТ администраторите могат да изпълняват задачите си с минимални усилия.

WMI предоставя референтна реализация за достъп до системна информация и е ключов инструмент за управление и наблюдение на Windows системи. Това е крайъгълният камък за Azure Machine Learning и AzureML и се използва за захранване на широка гама от продукти на трети страни.

  14 начина за изчистване на кеша в Windows 11

Използване на WMI

Windows Management Instrumentation (WMI) е доставката на Microsoft на уеб-базирано корпоративно управление (WBEM), индустриална инициатива за разработване на стандартизирани технологии за достъп до информация за корпоративно управление.

WMI представлява системи, приложения, мрежи, устройства и други управлявани компоненти, използвайки индустриалния стандарт за общ информационен модел (CIM). Работната група за разпределено управление (DMTF) създава и поддържа CIM.

Дизайнът на WMI е многофункционален, поддържа широк спектър от задължения за администриране и управление, както и предоставя гъвкава и разширяема архитектура, която позволява на производителите да пишат нови доставчици на WMI, за да поддържат нови устройства, приложения и други подобрения.

Други приложения са:

  • Цялостно управление на операционна система Windows и мрежови устройства и услуги на Microsoft.
  • Може да се използва за свързване на отдалечени компютри за достъп до WMI данни
  • Открива информация за системата, като например какви програми се изпълняват и какви услуги са настроени.
  • За извличане на информация за хардуерните спецификации и извършване на действия, като изключване или рестартиране на системата.
  • Стартиране на приложения, стартиране, спиране, конфигуриране на услуги и достъп до данни.
  • Разработчиците на приложения за управление могат да използват този API за създаване на скриптове във Visual Basic или Windows Scripting Host (WSH).

WMI архитектура

WMI (Windows Management Instrumentation) е технология на Microsoft, първоначално представена в Windows 2000. Тя позволява на програмистите да създават програми за управление, които работят с всяка система, която поддържа WMI.

Нека да видим архитектурата и терминологията на WMI.

Потокът на WMI архитектурата започва от обекти: Компонент като твърд диск, мрежова карта, операционна система или услуга е управляван обект (който може да се управлява чрез WMI). Инфраструктурата на WMI получава данни от обект чрез доставчик. Той предоставя и получава съобщения от WMI и ги предава на обекта.

Доставчикът на WMI се състои от DLL и файл с управляван обектен формат (MOF), който следи събития и данни от обекти. WMI категоризира доставчиците според функционалността, предоставена от интерфейса на доставчика.

Има множество вградени WMI доставчици в Windows, включително доставчик на Active Directory, доставчик на WMI данни за конфигурация на зареждане (BCD), доставчик на разпределена файлова система (DFS), доставчик на регистър на събития, доставчик на Hyper-V WMI, доставчик на Win32, доставчик на регистър, и SNMP доставчик.

WMI инфраструктурата е компонент на операционната система Microsoft Windows, известна като WMI услуга (winmgmt). WMI Core и WMI Repository са двете части на WMI инфраструктурата.

Хранилището на WMI е йерархично хранилище на данни, организирано от пространства от имена на WMI, често известно като Общ информационен модел (CIM). Услугата WMI създава редица пространства от имена при стартиране на системата, включително root по подразбиране, rootcimv2 и root абонамент.

Освен това услугата създава набор от дефиниции на класове по подразбиране, който включва системните класове Win32 и WMI. Други WMI пространства от имена могат да бъдат създадени от допълнителни WMI доставчици и всяко пространство от имена съдържа няколко WMI обекта.

Услугата WMI действа като посредник между доставчиците, приложенията за управление и WMI хранилището. В хранилището се съхраняват само статични данни за обекти, като например класовете, дефинирани от доставчиците. WMI получава повечето данни динамично от доставчика, когато клиент ги поиска.

  Как да коригирате акаунта в Twitter, който не се свързва с приложението Xbox в Windows 10

WMI потребител е приложение за управление или скрипт, който комуникира с WMI инфраструктурата. Използвайки COM API за WMI или API за скриптове за WMI, програмата за управление може да прави запитвания, да описва данни, да изпълнява методи на доставчик и да се абонира за събития.

WMI създава стандартизиран интерфейс за отдалечено и локално извличане на данни за управление. Единният интерфейс се абстрахира от интерфейсите за приложно програмиране (API) на операционната система. Това позволява на приложенията и скриптовете да събират данни за управление, без да е необходимо да знаят за API на операционната система.

Как да стартирате WMI заявка?

Характеристика на гъвкавостта на платформата WMI е способността да се прави запитване към нейното хранилище, за да се получат подробности за данните за класа, екземпляра или схемата. Тези показатели са свързани с инвентара на локални и отдалечени системи, операционни системи, софтуер и други административни дейности.

Тип на заявките

Като цяло има два типа заявки, използвани за извличане на информация от WMI хранилището:

Синхронна заявка: Това е заявка, която запазва контрола върху работата на вашето приложение по време на цялата заявка. По-лесно е от асинхронно повикване, защото отнема само едно извикване на интерфейса. За големи търсения или мрежови запитвания обаче може да замрази вашето приложение.

Асинхронна заявка: Когато скоростта на система или мрежа ще бъде повлияна от заявка за значителна група от данни, асинхронната заявка е за предпочитане да се използва.

WQL (WMI език за заявки)

Един от популярните методи за заявка на WMI е WMI Query Language.

SQL (Structured Query Language) се използва в средата на базата данни, а WQL се използва в WMI. И двете имат подобна синтактична структура.

Select, From и Where са основните WQL изрази, които се използват за стартиране на заявката.

Типична WMI заявка започва с избиране на всички свойства от WMI клас с помощта на командата „Избор“. Звездицата („*“) се използва за избиране на всяко свойство от WMI клас. Човек може да използва ключовата дума „От“, за да укаже WMI класа за запитване, след като изберете свойствата (едно или повече свойства, или всички). Можете да проверите SQL cheatsheet за точния синтаксис.

WQL може да се изпълни чрез WMI Tester (wbemtest.exe), който по подразбиране е инсталиран с операционната система Windows. WMI заявките също могат да се изпълняват чрез Windows PowerShell, VBScript и C език.

Тип WQL заявки

WQL заявките се използват за получаване на три различни вида информация.

Обектни заявки: Информацията за системните ресурси на Windows може да бъде извлечена с помощта на тези заявки.

Заявки за събития: Тези заявки се използват за проследяване на промените в регистрационните файлове на събития, стартирането на процеси, състоянието на услугите, наличността на компютрите или количеството свободно дисково пространство, наред с други обекти или събития.

Заявки за схема: Тези заявки се използват за получаване на подробности за структурата на схемата на WMI.

Изпълнение на заявка

Нека да видим как да изпълним обектна заявка.

Следният метод посочва как да проверите процесите WIN_32 на локална система.

Инструментът WMI Tester се изпълнява през командния ред чрез въвеждане на wbemtest.exe.

  Коригирайте Steam Remote Play, който не работи в Windows 10

Следният прозорец ще изскочи.

За да се свържете с пространството от имена на WMI, което съдържа класа, който искате да заявите (RootCimv2 в повечето случаи): щракнете върху раздела за свързване.

За да изпълните заявката, щракнете върху раздела „Заявка“, както е показано по-долу:

След това въведете заявката, за която искате да извлечете информацията. Например, нека извлечем всички процеси, изпълнявани в локалната система, като изпълним:

select * From Win32_process

След като щракнете върху раздела за прилагане, ще получите резултатите по-долу

Горното изпълнение, базирано на GUI, може също да се извърши в командния ред чрез PowerShell:

В платформата PowerShell, за да получите списъка с всички процеси win_32, се използва следният код:

Get-WmiObject -Class Win32_Process

За да получите всички параметри на заявката на PowerShell, посетете Управление на Microsoft PowerShell страница.

За да изпълните тази заявка на VBScript и C език, Страница с документация на Microsoft ще даде пълна представа.

Друг метод за запитване до WMI хранилището е чрез командата WMIC:

  • Стартирайте CMD от командния ред
  • Въведете WMIC и въведете, за да стартирате програмата
  • Тогава командният ред ще се промени на wmic:rootcli>

Администраторите могат да изпълняват WMI заявки от тази подкана.

Например, за да заредите информация за процесора на локална система, командата ще бъде:

wmic:rootcli> WMIC CPU

Резултатите/информацията ще бъдат показани в командния ред.

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

За повече информация относно WMIC псевдоними и глаголи посетете Microsoft wmic.

Често задавани въпроси за WMI

Какви са портовете, използвани в WMI?

Използваните портове са 49152 и 65535. Моделът на разпределения компонентен обект (DCOM), на който се основава WMI, използва произволно избран TCP порт за връзки между диапазона от 49152 и 65535 по подразбиране.

Отхвърлен ли е WMI?

WMI все още се поддържа. От Windows 10, версия 21H1 и 21H1 полугодишно издание на канала на Windows Server, програмата WMI за команден ред (WMIC) вече не се поддържа.

Какво представляват инструментите за мониторинг на WMI?

Има много налични инструменти за наблюдение на WMI. Въпреки това, няколко са особено популярни:
SolarWinds WMI монитор със сървър и монитор на приложения
Paessler WMI сервизен сензор с PRTG
Нагиос XI
Sapien WMI Explorer
Безплатните инструменти са WMI Explorer, Adrem Безплатни WMI инструменти

Как да отстранявате проблеми с WMI

Може да видите грешки, вариращи от липсващи класове до нарушения на достъпа, докато се опитвате да получите достъп до локални или отдалечени данни на WMI в приложение или скрипт. Проверете Ръководство за отстраняване на проблеми с Microsoft WMI за да получите решения за такива грешки.

Заключение

Като цяло Windows Management Instrumentation е силен инструмент, който може да се използва за обработка на широк набор от различни функции, свързани със системата на Windows. WMI може да бъде много полезен инструмент за всеки, който се занимава с Windows системи, въпреки факта, че първоначално може да изглежда смущаващ.