Общая структура WMI
Архитектура WMI состоит из трех частей, показанных на рис. 10.1:
Управляемые объекты/ресурсы (managed resources) — любые логические или физические компоненты информационной системы, доступ к которым может быть получен с помощью WMI. В качестве управляемых ресурсов могут выступать, например, файлы на жестком диске, запущенный экземпляр приложения, системное событие, предоставленный в общее пользование ресурс, сетевой пакет или установленный в компьютере процессор.
Ядро WMI (WMI infrastructure). Это связующее звено архитектуры WMI, отвечающее за связь управляющих программ с управляемыми объектами. Ядро WMI, в свою очередь, можно разделить на три части: менеджер объектов CIM (Common Information Model Object Manager, CIMOM), репозиторий (хранилище классов и объектов) CIM и провайдеры WMI. Кроме этого, для доступа к WMI с помощью сценариев необходима специальная библиотека поддержки сценариев WMI (WMI scripting library), которая располагается в файле wbemdisp.dll в каталоге %SystemRoot%\System32\Wbem.
Управляющие программы (management applications), которые являются потребителями сервисов WMI. В качестве потребителей могут выступать полновесные Win32-приложения, Web-приложения, сценарии WSH или другие инструменты администрирования, с помощью которых происходит доступ к управляемым объектам посредством WMI.
Рис. 10.1.Архитектура WMI
Отметим, что управляющие программы (потребители) различных типов применяют разные механизмы для доступа к WMI, т. е. используют разные интерфейсы прикладного программирования (Application Programming Interface, API). Программы Win32 могут взаимодействовать с WMI напрямую, используя для этого WMI COM API — главный API управления. ActiveX-компоненты WMI реализуют API другого уровня: разработчики Web-приложений применяют средства управления ActiveX для создания сетевых интерфейсов к данным WMI. Еще один способ управления WMI предполагает использование сценариев WSH с помощью специального API WMI для сценариев (такие сценарии мы иногда будем называть просто сценариями WMI).
Ядро WMI
Ядро WMI составляют провайдеры WMI, менеджер объектов CIM и репозиторий CIM. Рассмотрим эти компоненты более подробно.
Провайдеры WMI
Провайдеры WMI обеспечивают связь между менеджером объектов CIM и управляемыми ресурсами: провайдеры предоставляют для CIMOM данные об управляемом объекте, обрабатывают запросы от управляющих программ и генерируют сообщения о наступлении определенных событий (см. рис. 10.1).
При этом провайдер WMI общается с управляемым объектом с помощью специфического API этого объекта, а с CIMOM — посредством стандартного интерфейса прикладного программирования WMI (WMI API). Таким образом, провайдеры скрывают детали внутренней реализации управляемых объектов, позволяя CIMOM обращаться к этим объектам единообразно, используя один и тот же WMI API.
Фактически провайдеры WMI являются серверами COM или DCOM, которые представлены динамическими библиотеками (DLL), находящимися чаще всего в каталоге %SystemRoot%\System32\Wbem. WMI включает в себя множество встроенных (стандартных) провайдеров для операционных систем Windows 2000, Windows XP и Windows Server 2003, которые предназначены для получения данных из известных системных источников таких, как подсистема Win32, журналы событий, системный реестр, системные счетчики производительности. В табл. 10.1 приведено описание некоторых стандартных провайдеров, которые присутствуют во всех ранее перечисленных операционных системах.
Таблица 10.1. Некоторые стандартные провайдеры WMI | ||
Провайдер | DLL-файл | Описание |
Провайдер каталога Active Directory(Active Directory provider) | Dsprov.dll | Позволяет обращаться к объектам Active Directory как к объектам WMI |
Провайдер журнала событий (Event Log provider) | Ntevt.dll | Обеспечивает управление журналом событий (выборка по определенному критерию записей для чтения, создание резервных копий и очистка журнала, изменение настроек и т. д.). Также этот провайдер позволяет обрабатывать события, генерируемые журналом (например, добавление в журнал записи определенного типа) |
Провайдер системных счетчиков производительности (Perfomance Counter provider) | Wbemperf.dll | Обеспечивает доступ к счетчикам производительности, т. е. к данным, позволяющим численно оценивать производительность системы |
Провайдер реестра (Registry provider) | Stdprov.dll | Позволяет читать данные из реестра, создавать и модифицировать там ключи и разделы. Кроме этого, провайдер обеспечивает генерацию события WMI при изменении определенного ключа или ветви реестра |
Провайдер SNMP-устройств (SNMP provider) | Snmpincl.dll | Является шлюзом для доступа к системам и устройствам, которые управляются с помощью протокола SNMP (Simple Network Management Protocol) |
Провайдер драйверов устройств (WDM provider) | Wmiprov.dll | Позволяет получить доступ к информации низкого уровня о драйверах устройств Windows Driver Model (WDM); в качестве таких устройств могут выступать, например, порты ввода/вывода или сетевые платы |
Провайдер подсистемы Win32 (Win32 provider) | Cimwin32.dll | Обеспечивает доступ к информации о компьютере, операционной системе, подсистеме безопасности, дисках, периферийных устройствах, файловых системах, файлах, папках, сетевых ресурсах, принтерах, процессах, сервисах и т. п. |
Провайдер инсталлированных программных продуктов (Windows Installer provider) | Msiprov.dll | Позволяет получить информацию об инсталлированном программном обеспечении |
Технология WMI позволяет также создавать и устанавливать провайдеры сторонних поставщиков, с помощью которых можно будет, скажем, через WMI получать информацию о каких-то специфических устройствах или службах. Отметим, что свои провайдеры WMI имеются в таких продуктах Microsoft, как Application Center, Operations Manager, Systems Management Server, Internet Information Server, Exchange Server, SQL Server.
Дата добавления: 2018-03-01; просмотров: 933;