Использование WMI

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

Примечание

Версия WMI следующего поколения для написания приложений и сценариев доступна через инфраструктуру управления Windows (MI). Дополнительные сведения см. в разделе "Поставщики и клиенты MI".

В этом разделе рассматриваются следующие разделы:

Получение данных из WMI

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

Получение данных из WMI путем написания скрипта или приложения

  1. Определите, какой язык следует использовать. Дополнительные сведения о скриптах см. в разделе "Создание скрипта WMI". Дополнительные сведения о C++см. в статье "Создание приложения WMI с помощью C++". Дополнительные сведения о C# или WMI .NET см. в обзоре WMI .NET.

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

Язык приложения Раздел
Скрипты, написанные на размещении скриптов Microsoft ActiveX, включая Visual Basic Scripting Edition (VBScript) и Perl
API сценариев для WMI.
Начните с создания скрипта WMI.
Примеры кода скрипта см. в разделе "Задачи WMI для сценариев и приложений " и репозитория скриптов TechNet ScriptCenter .
Windows PowerShell
Начало работы с Windows PowerShell
Командлеты WMI PowerShell, такие как Get-WmiObject.
Приложения Visual Basic
API сценариев для WMI.
Страницы активных серверов
API сценариев для WMI.
Начните с создания страниц активных серверов для WMI.
Приложения C++
COM API для WMI.
Начните с создания приложения WMI с помощью C++ и примеров приложений WMI C++ (содержит примеры).
платформа .NET Framework приложения, написанные на C#, Visual Basic .NET или J#
Классы в пространстве имен Microsoft.Management.Infrastructure.
Примечание. System.Management — это исходное пространство имен, которое охватывало управляемый код для WMI. Однако базовая технология System.Management обычно медленнее, чем и не масштабируется, а также Microsoft.Management.Infrastructure. Таким образом, не рекомендуется использовать System.Management для новых проектов. (Дополнительные сведения о System.Management, см. обзор WMI .NET.)
  1. Убедитесь, что подключения к удаленным компьютерам работают.

    Дополнительные сведения см. в разделе "Подключение к WMI" на удаленном компьютере.

  2. Для подключения к WMI на удаленных компьютерах требуются правильные параметры безопасности, как описано в разделе "Обслуживание безопасности WMI". В следующей таблице перечислены разделы, описывающие настройку параметров безопасности с помощью языков сценариев и приложений.

  3. После подключения к WMI можно получить данные с помощью запросов и перечислений.

    Дополнительные сведения см. в разделе "Управление сведениями о классе и экземпляре" и "Запросы" с помощью WQL.

  4. Данные реестра доступны с помощью WMI, и вы можете создавать новые ключи и значения или изменять существующие.

    Дополнительные сведения см. в разделе "Изменение системного реестра".

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

    Дополнительные сведения см. в разделе "Мониторинг событий " и получение события WMI.

  6. Данные счетчика производительности для системы доступны через WMI.

    Счетчики библиотеки производительности системы преобразуются в классы WMI. Дополнительные сведения см. в разделе "Мониторинг данных о производительности".

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

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

В следующей процедуре описывается, как предоставлять данные WMI путем записи поставщика.

Предоставление данных WMI путем записи поставщика

  • Определите тип поставщика для записи.

    Невозможно написать поставщик WMI в VBScript. Однако вы можете использовать несколько других подходов к написанию com-поставщика WMI:

    • Использование мастера WMI ATL в Visual Studio.

      Этот подход создает неуправляемый поставщик COM. Дополнительные сведения см. в разделе "Добавление поставщика экземпляра WMI" и добавление поставщика событий WMI.

    • Использование COM непосредственно в любой интегрированной среде разработки.

      Этот подход создает неуправляемый поставщик COM.

    • Использование WMI в платформа .NET Framework для создания поставщика управляемого кода.

      Этот подход создает поставщик управляемого кода. Поставщики управляемого кода могут быть написаны на любом языке платформа .NET Framework, проще писать, чем поставщики COM WMI, и могут получать данные из классов на основе WMI CIM, таких как Классы Win32. Однако у поставщика WMI платформа .NET Framework есть некоторые ограничения. Дополнительные сведения см. в разделе "Управление приложениями с помощью WMI".

    • Использование классов платформы поставщика не рекомендуется.

      Платформа поставщика была заменена мастерами WMI ATL, с помощью COM напрямую или платформа .NET Framework поставщиков. Создание com-поставщика WMI с помощью классов платформы поставщика больше не рекомендуется. В следующей таблице перечислены разделы, описывающие использование поставщиков COM или платформа .NET Framework.

    Provider Раздел
    Поставщик COM в том же процессе, что и WMI
    Предоставление данных WMI
    Поставщик, разделенный com
    Включение поставщика в приложение
    поставщик платформа .NET Framework в C# или Visual Basic.NET
    Управление приложениями с помощью WMI

Важные задачи для WMI

В следующих разделах содержатся сведения об использовании WMI для мониторинга и управления корпоративными компонентами.

Раздел Описание
Задачи WMI для сценариев и приложений
Описывает, как найти правильный класс и процедуры WMI для использования в сценариях и приложениях, выполняющих общие задачи администрирования компьютера и сети, например добавление нового подключения принтера для удаленного компьютера или поиск всех установленных исправлений на компьютере.
Создание приложения или скрипта WMI
Любой язык сценариев, например VBScript или Perl, который работает с объектами ActiveX, может получить доступ к данным WMI. Приложения могут получить доступ к WMI в C++, используя COM-API для WMI или Visual Basic, используя библиотеку типов Wbemdisp.tlbи API сценариев для WMI.
Подключение к WMI на удаленном компьютере
Описывает, как скрипты, приложения и поставщики могут устанавливать подключения к WMI на удаленных компьютерах для получения данных или управления оборудованием и программным обеспечением.
Подключение к WMI на удаленном компьютере с помощью Windows PowerShell
Описывает, как использовать Windows PowerShell для установления подключений к WMI на удаленных компьютерах для получения данных или управления оборудованием и программным обеспечением.
Мониторинг событий
Описывает, как получать уведомления о событиях путем создания временных или постоянных потребителей событий WMI.
Предоставление данных WMI
WMI предоставляет динамические данные управления клиентским скриптам и приложениям, получая их от поставщиков.
Получение и предоставление данных на 64-разрядном компьютере
В этой статье описывается, как получить доступ к недефесультным поставщикам и рекомендациям для записи поставщиков в 64-разрядных системах.