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

WMI предоставляет единый интерфейс для любых локальных или удаленных приложений или сценариев, которые получают данные управления из компьютерной системы, сети или предприятия. Универсальный интерфейс разработан таким образом, что клиентским приложениям и сценариям WMI не нужно вызывать широкий спектр программных интерфейсов (API) операционной системы. Многие API не могут вызываться клиентами автоматизации, такими как скрипты или приложения Visual Basic. Другие API не выполняют вызовы к удаленным компьютерам.

Чтобы получить данные из инструментария WMI, напишите клиентский скрипт или приложение, которое обращается к классам WMI , или предоставьте данные для WMI, написав поставщик WMI. Дополнительные сведения см. в статье Использование инструментария WMI.

Объекты, потребители и инфраструктура WMI

На следующей схеме показана связь между инфраструктурой WMI, поставщиками WMI и управляемыми объектами, а также связь между инфраструктурой WMI и потребителями WMI.

связь между инфраструктурой WMI, поставщиками WMI и управляемыми объектами

Компоненты WMI

В следующем списке описаны основные компоненты WMI:

  • Управляемые объекты и поставщики WMI

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

    Как и драйвер, поставщик предоставляет WMI данные из управляемого объекта и обрабатывает сообщения из WMI в управляемый объект. Поставщики WMI состоят из DLL-файла и MOF-файла , который определяет классы, для которых поставщик возвращает данные и выполняет операции. Поставщики, такие как приложения WMI C++, используют COM API для WMI. Дополнительные сведения см. в разделе Предоставление данных в WMI.

    Примером поставщика является предустановленный поставщик реестра, который обращается к данным в системном реестре. Поставщик реестра имеет один класс WMI, StdRegProv, с множеством методов, но без свойств. Другие предустановленные поставщики, такие как поставщик Win32, обычно имеют классы с множеством свойств, но с несколькими методами, такими как Win32_Process или Win32_LogicalDisk. Dll-файл поставщика реестра, Stdprov.dll, содержит код, который динамически возвращает данные по запросу клиентских скриптов или приложений.

    MoF-файлы WMI и DLL-файлы находятся в папке %WINDIR%\System32\Wbem вместе с инструментами Command-Line WMI, такими как Winmgmt.exe и Mofcomp.exe. Классы поставщиков, такие как Win32_LogicalDisk, определяются в MOF-файлах, а затем компилируются в репозиторий WMI при запуске системы.

  • Инфраструктура WMI

    Инфраструктура WMI — это компонент операционной системы Microsoft Windows, известный как служба WMI(winmgmt). Инфраструктура WMI состоит из двух компонентов: WMI Core и репозитория WMI.

    Репозиторий WMI упорядочен по пространствам имен WMI. Служба WMI создает некоторые пространства имен, такие как root\default, root\cimv2 и root\subscription, при запуске системы и предварительно устанавливает набор определений классов по умолчанию, включая классы Win32, системные классы WMI и другие. Остальные пространства имен, найденные в системе, создаются поставщиками для других частей операционной системы или продуктов. Дополнительные сведения и список поставщиков WMI в большинстве версий операционной системы см. в разделе Поставщики WMI.

    Служба WMI выступает в качестве посредника между поставщиками, приложениями управления и репозиторием WMI. В репозитории хранятся только статические данные об объектах, например классы, определенные поставщиками. WMI динамически получает большинство данных от поставщика, когда клиент запрашивает их. Вы также можете настроить подписки для получения уведомлений о событиях от поставщика. Дополнительные сведения см. в разделе Мониторинг событий.

  • Потребители WMI

    Потребитель WMI — это приложение или скрипт управления, взаимодействующие с инфраструктурой WMI. Приложение управления может запрашивать, перечислять данные, запускать методы поставщика или подписываться на события, вызывая ЛИБО COM API для WMI , либо API скриптов для WMI. Единственными данными или действиями, доступными для управляемого объекта, например диска или службы, являются данные, предоставляемые поставщиком.

Использование инструментария WMI

Поставщики WMI

Создание приложения или скрипта WMI

Задачи WMI для сценариев и приложений

Предоставление данных в WMI

Классы WMI

Отслеживание событий

Вызов метода