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

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

Примечание

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

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

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

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

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

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

    Данные 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.
ASP
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 см. в разделе .NET WMI Overview.)

  1. Убедитесь, что подключения к удаленным компьютерам работают.

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

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

    Язык Раздел
    Скрипты на любом языке, Visual Basic приложения
    Настройка уровня безопасности процесса по умолчанию с помощью VBScript
    ASP
    Настройка IIS 5 и более поздних версий для скриптов ASP WMI
    C++
    Установка уровня безопасности процесса по умолчанию с помощью C++ и настройка безопасности для IWbemServices и других прокси-серверов
  3. После подключения к WMI можно получить данные с помощью запросов и перечислений.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Поставщик Раздел
    Поставщик 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-разрядных системах.