Что такое не жаргонное определение для WMI? - PullRequest
4 голосов
/ 27 мая 2011

Я немного читал о WMI и пытался понять, что это такое, но все это похоже на множество жаргонных и круглых определений.

Здесь :Windows Management Instrumentation (WMI) is the infrastructure for management data and operations on Windows-based operating systems.

«Инфраструктура»?Да?

Это всего лишь несколько зацепок в операционной системе для доступа к системным ресурсам, устройствам?Какие?Если да, то из чего он сделан?Это COM-классы?

ЧТО ТАКОЕ WMI?

Ответы [ 2 ]

8 голосов
/ 27 мая 2011

Обзор

Ну, WMI - это система, которая позволяет запрашивать информацию о машине.WMI состоит из множества различных провайдеров и классов, и у каждого класса могут быть свойства и методы, что мало чем отличается от .NET.Поставщики отвечают за возвращение классов.

Вы можете запрашивать WMI как локально, так и удаленно.Вот почему это считается инфраструктурой управления.ИТ-персонал может использовать WMI для получения информации и удаленного выполнения действий с WMI.Например, если вы хотите узнать, какие диски находятся на компьютере, вы можете выполнить запрос WQL, например, такой:

SELECT * FROM Win32_DiskDrive

, который вернет коллекцию Win32_DiskDrive и скажетВам информация об этом.Поскольку они являются объектами, у них тоже есть методы.

Иногда WMI может сообщить вам информацию о среде, в которой вы не можете получить эту информацию в другом месте, например, при использовании Win32_Mainboard для получения информации о материнской плате.

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

Подробности

Поставщик - это COM-объект, который действует между WMI и объектом / классом управления.Классы определены в MOF (формат управляемого объекта).Таким образом, основная вещь заключается в том, что поставщик зарегистрирован как обработчик для класса, и когда запрашивается информация из этого класса, поставщик запускается.Как и .NET, объекты управления ограничены и определены в пространствах имен.Основная часть Microsoft находится в \ROOT\cimv2.

. Провайдер будет реализовывать интерфейсы IWbemProviderInit и IWbemProviderInitSink.Здесь есть некоторые подробности

Поскольку это COM-объект, можно написать WMI-провайдер в .NET и использовать ComVisible для его раскрытия.

После того как вы его разработали, вам нужно зарегистрировать его .Вы также можете подумать о том, чтобы зарегистрировать его перед разработкой и отладкой.

У Microsoft есть простой пример на http://msdn.microsoft.com/en-us/library/aa393677(v=vs.85).aspx.

2 голосов
/ 27 мая 2011

Я думаю, что FAQ по Technet может быть немного полезным.

Слово «Контрольно-измерительные приборы» в WMI относится к тому факту, что WMI может получать информацию о внутреннем состоянии компьютерных систем, так же, как приборные панели автомобилей могут получать и отображать информацию о состоянии двигателя. «Инструменты» WMI путем моделирования объектов, таких как диски, процессы или другие объекты, найденные в системах Windows. Эти объекты компьютерной системы моделируются с использованием таких классов, как Win32_LogicalDisk или Win32_Process; Как и следовало ожидать, класс Win32_LogicalDisk моделирует логические диски, установленные на компьютере, а класс Win32_Process моделирует любые процессы, которые в данный момент выполняются на компьютере. Классы основаны на расширяемой схеме, называемой Общей информационной моделью (CIM). Схема CIM является общедоступным стандартом Целевой группы по распределенному управлению (http://www.dmtf.org).

Это просто вид интерфейса программирования, позволяющий вам получать информацию о системе. Здесь вы можете взглянуть на его архитектуру, она может ответить на некоторые ваши вопросы.

...