Поделиться через


about_WMI

Назначение: Windows PowerShell 2.0, Windows PowerShell 3.0

РАЗДЕЛ

about_WMI

КРАТКОЕ ОПИСАНИЕ

В инструментарии управления Windows (WMI) для представления систем, приложений, сетей, устройств и других управляемых компонентов современного предприятия используется модель CIM.

ПОДРОБНОЕ ОПИСАНИЕ

Инструментарий управления Windows (WMI) представляет собой реализацию отраслевого стандарта WBEM корпорацией Майкрософт.

В классическом инструментарии WMI для взаимодействия с сетевыми устройствами с целью управления удаленными системами используется модель DCOM. В версии Windows PowerShell® 3.0 реализована модель поставщиков CIM, которая использует службу WinRM для устранения зависимости от модели DCOM. Эта модель поставщиков CIM также использует новые интерфейсы API поставщиков инструментария WMI, которые позволяют разработчикам создавать командлеты Windows PowerShell в машинном коде (C++).

Не путайте поставщики инструментария WMI с поставщиками Windows PowerShell. Со многими компонентами Windows связаны поставщики инструментария WMI, которые предоставляют возможности управления этими компонентами. Чтобы получить поставщики инструментария WMI, выполните запрос WMI, возвращающий экземпляры класса __Provider инструментария WMI, такой как приведенный ниже.

        Get-WmiObject -Class __Provider

ТРИ КОМПОНЕНТА ИНСТРУМЕНТАРИЯ WMI

Со средой Windows PowerShell взаимодействуют следующие три компонента инструментария WMI: пространства имен, поставщики и классы.

Пространства имен WMI служат для объединения поставщиков и классов WMI в группы связанных компонентов. Этим они похожи на пространства имен .NET Framework. Пространства имен — это не физические расположения. Они больше похожи на логические базы данных. Все пространства имен WMI являются экземплярами системного класса __Namespace. Пространство имен WMI по умолчанию — Root/CIMV2 (начиная с Microsoft Windows 2000). Чтобы получить пространства имен WMI, имеющиеся в текущем сеансе, с помощью Windows PowerShell, используйте команду в следующем формате:

        Get-WmiObject -Class __Namespace

Чтобы получить пространства имен WMI из других пространств имен, используйте параметр Namespace для изменения места поиска. Приведенная ниже команда находит пространства имен WMI, находящиеся в пространстве имен Root/Cimv2/Applications.

        Get-WmiObject -Class __Namespace -Namespace 
        root/CIMv2/applications

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

Поставщики WMI предоставляют информацию об управляемых объектах Windows. Поставщик извлекает данные из компонента и передает их посредством инструментария WMI в приложение, предназначенное для управления, например Windows PowerShell. Большинство поставщиков WMI являются динамическими. Это означает, что они получают данные динамически, когда они запрашиваются через приложение для управления.

ПОИСК КЛАССОВ WMI

По умолчанию при установке Windows 8 в каталоге Root/Cimv2 имеется более 1100 классов WMI. С учетом такого их множества выбор подходящего класса WMI для выполнения определенной задачи представляет трудность. В Windows PowerShell 3.0 есть два способа нахождения классов WMI, связанных с определенной категорией задач.

Например, чтобы найти классы WMI, которые связаны с дисками, в пространстве имен WMI root\CIMV2, можно использовать запрос наподобие приведенного ниже.

        Get-WmiObject -List *disk*

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

        Get-WmiObject -List *memory*

Командлеты CIM также дают возможность находить классы WMI. Для этого служит командлет Get-CIMClass. Приведенная ниже команда выводит список классов WMI, относящихся к работе с видео.

        Get-CimClass *video*

Заполнение с помощью клавиши TAB работает при смене пространств имен WMI, что позволяет легко находить вложенные пространства имен WMI. В примере ниже командлет Get-CimClass выводит список всех классов WMI, связанных с параметрами питания. Чтобы найти его, введите пространство имен WMI root/CIMV2/, а затем нажмите клавишу TAB несколько раз, пока не появится пространство имен power. Команда выглядит так:

        Get-CimClass *power* -Namespace root/cimv2/power