Использование инструментария 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.
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 и не масштабируется так же, как Microsoft.Management.Infrastructure. Таким образом, не рекомендуется использовать System.Management для новых проектов. (Дополнительные сведения о System.Management см. в статье Обзор WMI .NET.)
  1. Убедитесь, что подключения к удаленным компьютерам работают.

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

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

    Язык Раздел
    Скрипты на любом языке, приложения Visual Basic
    Установка уровня безопасности процесса по умолчанию с помощью VBScript
    ASP
    Настройка IIS 5 и более поздних версий для WMI ASP-скриптов
    C++
    Установка уровня безопасности процесса по умолчанию с помощью C++ и настройка безопасности в IWbemServices и других прокси-серверах
  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 поставщиков. Создавать поставщик WMI COM с классами платформы поставщика больше не рекомендуется. В следующей таблице перечислены разделы, описывающие использование поставщиков 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-разрядных системах.