Основы технологии Windows Management Instrumentation



Введение

Технология Windows Management Instrumentation (WMI) предназначена для централизованного управления компьютерными системами под управлением операционными системами семейства Windows. WMI является реализацией универсального стандарта администрирования WBEM (Web-Based Enterprise Management) и объектной модели информации CIM (Common Information Model), предложенных международной организацией по продвижению технологий удаленного управления DMTF. Данный стандарт позволяет выработать единый подход к управлению разноплановыми объектами информационных систем (серверы, рабочие станции, периферия, серверные и настольные приложения и пр.).

Инфраструктура WMI состоит из четырех компонентов: провайдеры WMI, менеджер объектов CIM (Common Information Model Object Manager), база данных CIM и управляющие программы (рис. 1).

Провайдеры WMI обеспечивают доступность и адресность управляемых с помощью WMI ресурсов. При этом провайдер WMI общается с управляемым объектом с помощью API этого объекта, а с менеджером объектов CIM – посредством стандартного интерфейса прикладного программирования WMI (WMI API). Таким образом, провайдеры скрывают детали внутренней реализации управляемых объектов, позволяя менеджеру объектов CIM обращаться к этим объектам единообразно, используя один и тот же WMI API.

Рис. 1. Инфраструктура WMI

 

Менеджер объектов CIM (CIMOM) обеспечивает взаимодействие между потребителями сервисов WMI (управляющими приложениями) и провайдерами WMI. Менеджер объектов CIM обрабатывает все запросы, которые поступают от управляющих приложений к WMI, и обеспечивает доставку к этим приложениям информации, получаемой в результате выполнения таких запросов.

База данных CIM содержит классы, моделирующие различные компоненты системы: жесткие диски, сетевые карты, файлы и папки, процессы, сервисы и т.д. Классы в базе данных CIM логически группируются по пространствам имен, которые упорядочены иерархически.

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

Наиболее гибким и мощным инструментом администрирования Windows являются сценарии Windows Scripting Host, а синтаксис VBScript наиболее удобен для работы с разветвленной объектной моделью WMI. Поэтому при выполнении лабораторных работ, мы будем использовать сценарии на языке VBScript.

Первый сценарий, показанный в Листинге 1, возвращает информацию о процессоре системы, выполняя три основные функции, общие для всех сценариев WMI: подключение к службе WMI, извлечение информации о конкретном объекте, вывод собранной информации.

 

Листинг 1: Сценарий, возвращающий информацию о процессоре

set WMI = GetObject("WinMgmts:")

set objs = WMI.InstancesOf("Win32_Processor")

for each obj in objs

WScript.Echo "Processor: " & obj.Name

next

 

В первой строке происходит подключение к службе WMI. В переменной WMI после выполнения этой строки сценария будет храниться ссылка на объект SWbemServices. Следующая строка с помощью метода InstancesOf объекта SWbemServices возвращает все экземпляры класса Win32_Processor в виде коллекции SWbemObjectSet. Три последние строки сценария перечисляют содержимое этого набора в цикле for.

Если создать текстовый файл с содержимым Листинга 1 и сохранить его с расширением .vbs, то можно выполнить его с помощью Windows Script Host (WSH). В результате информация, которую извлечет сценарий, будет отображаться в диалоговом окне (рис. 2).

Рис. 2. Результат выполнения сценария (Листинг 1)

 

Сценарий может быть запущен из командной строки с помощью консольной версии WSH cscript.exe. Например, чтобы выполнить описанный выше сценарий, сохраненный в файле First.vbs, необходимо в командном окне выполнить команду:

 

cscript first.vbs

 

В результате в командное окно будет выведена строка “Intel Pentium III processor” (рис. 3).

Рис. 3. Результат выполнения сценария (Листинг 1) в консольном режиме

 

Рассмотрим второй сценарий, показанный в Листинге 2. Этот сценарий возвращает список всех свойств класса Win32_Process.

 

Листинг 2. Сценарий, возвращающий список свойств заданного класса

set objClass = GetObject("WinMgmts:Win32_Process")

set objClassProperties = objClass.Properties_

for each obj in objClassProperties

WScript.Echo obj.Name

next

Для получения доступа к нужному нам классу Win32_Process используется функция GetObject, в качестве параметра которой необходимо указать путь к этому классу: WinMgmts:Win32_Process. После этого в переменной objClass будет хранится указатель на объект SWbemObject. В свойстве Properties_ этой переменной хранится набор всех свойств класса Win32_Process (объект SWbemPropertySet), указатель на которую заносится в переменную objClassProperties. В свойстве Name каждого элемента набора хранится имя соответствующего свойства. Эти имена в цикле for выводятся на экран с помощью метода Echo объекта WScript.

Аналогично можно получить набор методов класса (объект SWbemMethodSet), который хранится в свойстве Methods_ соответствующего объекта SWbemObject.

 


Дата добавления: 2018-05-12; просмотров: 194; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!