Что за программа wmi

Windows Management Instrumentation (WMI) — это базовая технология как для управления так и для слежения за работой платформы Windows.

Только пользователи локальной группы «Администраторы» имеют право запускать WMIC.

В основе структуры данных в WBEM лежит Common Information Model (CIM), реализующая объектно-ориентированный подход к представлению компонентов системы. CIM является расширяемой моделью, что позволяет программам, системам и драйверам добавлять в неё свои классы, объекты, методы и свойства.

Важной особенностью WMI является то, что хранящиеся в нём объекты соответствуют динамическим ресурсам, то есть параметры этих ресурсов постоянно меняются, поэтому параметры таких объектов не хранятся постоянно, а создаются по запросу потребителя данных. Хранилище свойств объектов WMI называется репозиторием и расположено в системной папке операционной системы Windows:

% SystemRoot % Windows System32 wbem Repository

Так как WMI построен по объектно-ориентированному принципу, то все данные операционной системы представлены в виде объектов и их свойств и методов.

Настройка и применение WMI Фильтров на групповых политиках.

Все классы группируются в пространства имен, которые иерархически упорядочены и логически связаны друг с другом по определенной технологии или области управления. В WMI имеется одно корневое пространство имен Root, которое в свою очередь имеет 4 подпространства: CIMv2, Default, Security и WMI.

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

Свойства классов используются для однозначной идентификации экземпляра класса и для описания состояния используемого ресурса. Обычно все свойства классов доступны только для чтения, хотя некоторые из них можно модифицировать определенным методом. Методы классов позволяют выполнить действия над управляемым ресурсом.

Каждому экземпляру класса можно обратиться по полному пути, который имеет следующую структуру:

[\ComputerNameNameSpace][:ClassName][.KeyProperty1=Value1][,KeyProperty2=Value2]…]

ComputerName – имя компьютера

NameSpace – название пространства имен

ClassName – имя класса

KeyProperty1=Value1, KeyProperty2=Value2 – свойства объекта и значения, по

которому он идентифицируется.

Пример обращения к процессу с именем «Calc.exe», который запущен на локальной машине:

\.CIMv2:Win32_Process.Name=»Calc.exe»

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

Общая безопасность в WMI реализуется на уровне операционной системы, а дополнительная политика безопасности основана на уровнях пространств имен и протокола DCOM. То есть если пользователь не имеет права делать какое-то действие через операционную систему, он не сможет это сделать и через WMI . Если же пользователю дано какое-то право в операционной системе, то это ещё не означает, что это право будет и в WMI, так как в WMI действуют дополнительные параметры безопасности на уровне пространств имен.

Что за процесс WmiPrvSE.exe (WMI Provider Host) и почему он грузит процессор

Для вызова удаленных процедур WMI использует модель DCOM. В случае если возникает ошибка «Dcom Access Denied» то действия будут следующими: меня «Выполнить»->»dcomcnfg»->»Службы компонентов(Component Services)->Компьютеры->Мой компьютер->Свойства(правая кнопка мыши)->вкладка Безопасность COM Уровни олицетворения могут принимать следующие значения:

Anonymous Анонимный WMI-объект не может получить информацию о пользователе — доступ по такому типу не предоставляется
Identify Идентификация WMI-объект запрашивает маркер доступа пользователя — доступ предоставляется только локально
Impersonate Олицетворение WMI-объект имеет такие же права, какие имеет пользователь — рекомендуемый уровень для выполнения команд на удаленном компьютере
Delegate Делегирование WMI-объект может обратиться от имени пользователя к другому WMI-объекту — нерекомендуемый уровень, так как команды можно выполнять удаленно через цепочку из нескольких компьютеров

Уровни аутентификации (подлинности) могут принимать следующие значения:

None Отсутствует Проверка подлинности отсутствует
Default По умолчанию Стандартные настройки безопасности, которые задаются компьютером-целью команды
Connect Подключение Проверка только во время подключения к компьютеру-цели команды, проверка в ходе работы отсутствует
Call Вызов Проверка подлинности при каждом запросе к компьютеру-цели команды, заголовки пакетов подписываются, но содержимое не шифруется
Pkt Пакет Проверка подлинности всех пакетов к компьютеру-цели команды, заголовки пакетов подписываются, но содержимое не шифруется
PktIntegrity Целостность пакета Проверка подлинности и целостности всех пакетов к компьютеру-цели команды, заголовки пакетов подписываются, но содержимое не шифруется
PktPrivacy Секретность пакета Проверка подлинности и целостности всех пакетов к компьютеру-цели команды, заголовки и содержимое пакетов подписываются и шифруются

wmimgmt.msc — оснастка консоли управления MMC для настройки WMI на локальном компьютере.

winmgmt.exe — консольная утилита управления WMI локального компьютера.

wbemtest.exe — графическая утилита для взаимодействия со структурой WMI на локальном или удаленном компьютере.

wmic.exe — консольная утилита для взаимодействия со структурой WMI на локальном компьютере.

mofcomp.exe — компилятор MOF-файлов для расширения структуры WMI, управления библиотекой классов WMI и восстановления репозитория.

Сейчас я покажу практические примеры используемые в моей повседневной работе:

Удаление больших файлов с расширением .log

wmic datafile where «drive=’с:’ and Extension=’.log’ and FileSize>’100000′» call delete

Список заблокированный учетных записей(вывод в файл на диске с:)

Wmic /output:»c:useraccount.html» useraccount where (Status=’Degraded’) list full /format:htable

Определение архитектуры (Как пример на Server 2008)

Определяет тип сервера (Server 2008)

Команда возвращает числовое значение. Для Windows 2008 Server они следующие:

7 = Windows Server 2008 Standard Edition (full installation)

8 = Windows Server 2008 Datacenter Edition (full installation

10 = Windows Server 2008 Enterprise Edition (full installation)

12 = Windows Server 2008 Datacenter Edition (core installation)

13 = Windows Server 2008 Standard Edition (core installation)

14 = Windows Server 2008 Enterprise Edition (core installation)

42 = Hyper-V Server 2008

wmic OS get OperatingSystemSKU

Как подключаться удаленным системам.

Завершить процесс по названию.

wmic.exe process where name=»calc.exe» delete

Wmic process where (caption=”notepad.exe”) call terminate

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

Если необходимо получить сведения о службе оповещения на компьютере

Вывод сведений на экран

process where (name=»explorer.exe») get caption,commandline,handle

Чтобы представить вывод в файл в табличном режиме

/output:c:table.htm process get /format:htable

path win32_process.name=»explorer.exe» get caption,commandline,handle

При соединении с удалёнными системами можно брать имена компьютеров из текстового файла (server1,server2,server3)

Сохранение во внешнем XML-файле историю запускаемых в текущей сессии wmic-команд и результаты их выполнения.

Чтобы запустить новый процесс

process call create cmd.exe

Подключение к другому компьютеру возможно ещё так

/node:server /user:test /password:»password»

Чтобы перезагрузить компьютер

/node:user os where (csname=»user») call win32shutdown 2

Чтобы выключить компьютер

/node:user os where (csname=»user) call win32shutdown 1

Вывод свойств операционной системы

Вывод информация о состоянии всех зарегистрированных служб на компьютерах server1, server2, server3

/node:server1,server2,server3 /output:c:service.htm service get name,displayname,state /format:htable

Запуск и остановка служб

/node:server1 service where (name=»squid.exe») call startservice

Принудительно выключить компьютер

wmic os where primary=»TRUE» call win32shutdown 6

\FORD-POLLROOTCIMV2:Win32_OperatingSystem.Name=»Microsoft Windows XP Professional|C:\WINDOWS|\Device\Harddisk0\Partition1″

Для того чтобы запустить сервис надо (вывести список сервисов в системе)

service list brief

service where (name=»») call startservice || stopservice

/output:c:service.html service list full /format:htable

Чтобы работало wmic, надо

Служба WMI должна быть помещена в автозапуск, а также должно быть разрешено соединение по DCOM:

Читайте также:
Что за программа семь дорог

1) В разделе реестра HKLMSOFTWAREMICROSOFTOLE установите значение EnableDCOM в «Y», а также EnableRemoteConnect в «Y». Значение EnableRemoteConnect по умолчанию «N».

2) В разделе реестра HKLMSOFTWAREMicrosoftwbemcimom установите значение AutostartWin9X в «2». Установите значение EnableAnonConnections в «1».

3) Добавьте файл Winmgmt.exe в автозагрузку. Файл находится в каталоге WindowsWBEM.

netsh firewall add portopening TCP 135 DCOM_TCP135

Удаленно включаем службу удаленный рабочий стол (Remote Desktop)

Вывод служб которые запускают с правами LocalSystem

/output:c:idcns.html service where startname=»LocalSystem» get Caption,name,started

Список шар на локальном машине

wmic share get caption,name,path

Перечисление всех путей к папкам из которых запущены программы

wmic.exe process get «ExecutablePath», «ProcessID»

Драйверы в системе возможно останавливать или запускать например:

wmic sysdriver where name=’beep’ call PauseService

методы класса Win32_SystemDriver

StartService -> запускает службу или драйвер

StopService -> останавливает службу или драйвер

PauseService -> переводит службу или драйвер в состояние паузы

ResumeService -> восстанавливает состояние драйвера или службы

InterrogateService -> заставляет службу или драйвер обновить своё состояние в SCM

UserControlService -> позволяет послать службе или драйверу пользовательское сообщение.

Create -> создаёт новую службу или драйвер

Change -> изменяет службы или драйвер

ChangeStartMode -> изменяет режим запуска службы или драйвера

Delete -> удаляет службу или драйвер

Выключаем локальную машину.

ping -n seconds 127.0.0.1>nul Win32Shutdown 6 — 6 = 2 (reboot) + 4 (force). Никакого видимого сообщения о перезагрузке выведено не будет.

Полезные информационные сборки параметров.

wmic computersystem get domain, EnableDaylightSavingsTime, Manufacturer, Model, PartOfDomain, TotalPhysicalMemory, username

wmic bios get Caption, Manufacturer, SMBIOSBIOSVersion, Version

wmic baseboard get Manufacturer, Model, Product, SerialNumber, Version

wmic cpu get deviceID, Addresswidth, MaxClockSpeed, Name, Manufacturer, ProcessorID

wmic logicaldisk where drivetype=3 get name, freespace, systemname, filesystem, size, volumeserialnumber

= 1 NoRootDirectory The drive does not have a root directory.

= 2 Removable The drive is a removable storage device, such as a floppy disk drive or a USB flash drive.

= 3 Fixed The drive is a fixed disk.

= 4 Network The drive is a network drive.

= 5 CDRom The drive is an optical disc device, such as a CD or DVD-ROM.

= 6 Ram The drive is a RAM disk.

Задание приоритета процессору

wmic process where «name=’notepad.exe’» call setpriority 64

Выполнение команд через wmic

просто вставляем в командную строку

wmic process call create ‘cmd.exe /c ping 10.30.10.101’

Прописываем DNS-суффиксы удаленно

wmic /node: /failfast:on nicconfig call SetDNSSuffixSearchOrder (ford-i.ru,tc-toyota.local,lexus.local)

Прописываем DNS-сервера

nicconfig where index=8 call setdnsserversearchorder («10.30.5.2″,»10.30.5.3»)

,где index= указывает номер интерфейса в системе на котором у вас поднята сеть

Команды загружаемые при входе системы

wmic startup list full system

wmic:rootcli>/output:c:startup_full.html startup list full /format:htable

wmic:rootcli>/output:c:startup_system.html startup list system /format:htable

Источник: www.ekzorchik.ru

WMI на службе системного администратора.

ArabicChinese (Simplified)EnglishFrenchGermanItalianPortugueseRussianSpanish

Windows Management Instrumentation (WMI) — это базовая технология как для управления так и для слежения за работой платформы Windows.

Только пользователи локальной группы «Администраторы» имеют право запускать WMIC.

В основе структуры данных в WBEM лежит Common Information Model (CIM), реализующая объектно-ориентированный подход к представлению компонентов системы. CIM является расширяемой моделью, что позволяет программам, системам и драйверам добавлять в неё свои классы, объекты, методы и свойства.

Важной особенностью WMI является то, что хранящиеся в нём объекты соответствуют динамическим ресурсам, то есть параметры этих ресурсов постоянно меняются, поэтому параметры таких объектов не хранятся постоянно, а создаются по запросу потребителя данных. Хранилище свойств объектов WMI называется репозиторием и расположено в системной папке операционной системы Windows:

%SystemRoot%WindowsSystem32wbemRepository

Так как WMI построен по объектно-ориентированному принципу, то все данные операционной системы представлены в виде объектов и их свойств и методов.

Все классы группируются в пространства имен, которые иерархически упорядочены и логически связаны друг с другом по определенной технологии или области управления. В WMI имеется одно корневое пространство имен Root, которое в свою очередь имеет 4 подпространства: CIMv2, Default, Security и WMI.

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

Свойства классов используются для однозначной идентификации экземпляра класса и для описания состояния используемого ресурса. Обычно все свойства классов доступны только для чтения, хотя некоторые из них можно модифицировать определенным методом. Методы классов позволяют выполнить действия над управляемым ресурсом.

Каждому экземпляру класса можно обратиться по полному пути, который имеет следующую структуру:

[ComputerNameNameSpace][:ClassName][.KeyProperty1=Value1][,KeyProperty2=Value2]…]

ComputerName – имя компьютера

NameSpace – название пространства имен

ClassName – имя класса

KeyProperty1=Value1, KeyProperty2=Value2 – свойства объекта и значения, по

которому он идентифицируется.

Пример обращения к процессу с именем «Calc.exe», который запущен на локальной машине:

.CIMv2:Win32_Process.Name=»Calc.exe»

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

Общая безопасность в WMI реализуется на уровне операционной системы, а дополнительная политика безопасности основана на уровнях пространств имен и протокола DCOM. То есть если пользователь не имеет права делать какое-то действие через операционную систему, он не сможет это сделать и через WMI . Если же пользователю дано какое-то право в операционной системе, то это ещё не означает, что это право будет и в WMI, так как в WMI действуют дополнительные параметры безопасности на уровне пространств имен.

Для вызова удаленных процедур WMI использует модель DCOM. В случае если возникает ошибка «Dcom Access Denied» то действия будут следующими: меня «Выполнить»->»dcomcnfg»->»Службы компонентов(Component Services)->Компьютеры->Мой компьютер->Свойства(правая кнопка мыши)->вкладка Безопасность COM Уровни олицетворения могут принимать следующие значения:

Anonymous Анонимный WMI-объект не может получить информацию о пользователе — доступ по такому типу не предоставляется
Identify Идентификация WMI-объект запрашивает маркер доступа пользователя — доступ предоставляется только локально
Impersonate Олицетворение WMI-объект имеет такие же права, какие имеет пользователь — рекомендуемый уровень для выполнения команд на удаленном компьютере
Delegate Делегирование WMI-объект может обратиться от имени пользователя к другому WMI-объекту — нерекомендуемый уровень, так как команды можно выполнять удаленно через цепочку из нескольких компьютеров

Уровни аутентификации (подлинности) могут принимать следующие значения:

None Отсутствует Проверка подлинности отсутствует
Default По умолчанию Стандартные настройки безопасности, которые задаются компьютером-целью команды
Connect Подключение Проверка только во время подключения к компьютеру-цели команды, проверка в ходе работы отсутствует
Call Вызов Проверка подлинности при каждом запросе к компьютеру-цели команды, заголовки пакетов подписываются, но содержимое не шифруется
Pkt Пакет Проверка подлинности всех пакетов к компьютеру-цели команды, заголовки пакетов подписываются, но содержимое не шифруется
PktIntegrity Целостность пакета Проверка подлинности и целостности всех пакетов к компьютеру-цели команды, заголовки пакетов подписываются, но содержимое не шифруется
PktPrivacy Секретность пакета Проверка подлинности и целостности всех пакетов к компьютеру-цели команды, заголовки и содержимое пакетов подписываются и шифруются

wmimgmt.msc — оснастка консоли управления MMC для настройки WMI на локальном компьютере.

winmgmt.exe — консольная утилита управления WMI локального компьютера.

Читайте также:
Программ формирование комфортной городской среды что это такое

wbemtest.exe — графическая утилита для взаимодействия со структурой WMI на локальном или удаленном компьютере.

wmic.exe — консольная утилита для взаимодействия со структурой WMI на локальном компьютере.

mofcomp.exe — компилятор MOF-файлов для расширения структуры WMI, управления библиотекой классов WMI и восстановления репозитория.

Сейчас я покажу практические примеры используемые в моей повседневной работе:

Удаление больших файлов с расширением .log

wmic datafile where «drive=’с:’ and Extension=’.log’ and FileSize>’100000′» call delete

Список заблокированный учетных записей(вывод в файл на диске с:)

Wmic /output:»c:useraccount.html» useraccount where (Status=’Degraded’) list full /format:htable

Определение архитектуры (Как пример на Server 2008)

wmic OS get OSArchitecture

Определяет тип сервера (Server 2008)

Команда возвращает числовое значение. Для Windows 2008 Server ониследующие:

7 = Windows Server 2008 Standard Edition (full installation)

8 = Windows Server 2008 Datacenter Edition (full installation

10 = Windows Server 2008 Enterprise Edition (full installation)

12 = Windows Server 2008 Datacenter Edition (core installation)

13 = Windows Server 2008 Standard Edition (core installation)

14 = Windows Server 2008 Enterprise Edition (core installation)

42 = Hyper-V Server 2008

wmic OS get OperatingSystemSKU

Как подключаться удаленным системам.

Завершить процесс по названию.

wmic.exe process where name=»calc.exe» delete

Wmic process where (caption=”notepad.exe”) call terminate

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

Если необходимо получить сведения о службе оповещения на компьютере

Вывод сведений на экран

process where (name=»explorer.exe») get caption,commandline,handle

Чтобы представить вывод в файл в табличном режиме

/output:c:table.htm process get /format:htable

path win32_process.name=»explorer.exe» get caption,commandline,handle

При соединении с удалёнными системами можно брать имена компьютеров из текстового файла (server1,server2,server3)

Сохранение во внешнем XML-файле историю запускаемых в текущей сессииwmic-команд и результаты их выполнения.

Чтобы запустить новый процесс

process call create cmd.exe

Подключение к другому компьютеру возможно ещё так

/node:server /user:test /password:»password»

Чтобы перезагрузить компьютер

/node:user os where (csname=»user») call win32shutdown 2

Чтобы выключить компьютер

/node:user os where (csname=»user) call win32shutdown 1

Вывод свойств операционной системы

Вывод информация о состоянии всех зарегистрированных служб на компьютерах server1, server2, server3

/node:server1,server2,server3 /output:c:service.htm service get name,displayname,state /format:htable

Запуск и остановка служб

/node:server1 service where (name=»squid.exe») call startservice

Принудительно выключить компьютер

wmic os where primary=»TRUE» call win32shutdown 6

FORD-POLLROOTCIMV2:Win32_OperatingSystem.Name=»Microsoft Windows XP Professional|C:WINDOWS|DeviceHarddisk0Partition1″

Для того чтобы запустить сервис надо (вывести список сервисов в системе)

service list brief

service where (name=»») call startservice || stopservice

/output:c:service.html service list full /format:htable

Чтобы работало wmic, надо

Служба WMI должна быть помещена в автозапуск, а также должно быть разрешено соединение по DCOM:

1) В разделе реестра HKLMSOFTWAREMICROSOFTOLE установите значение EnableDCOM в «Y», а также EnableRemoteConnect в «Y». Значение EnableRemoteConnect по умолчанию «N».

2) В разделе реестра HKLMSOFTWAREMicrosoftwbemcimom установите значение AutostartWin9X в «2». Установите значение EnableAnonConnections в «1».

3) Добавьте файл Winmgmt.exe в автозагрузку. Файл находится в каталоге WindowsWBEM.

netsh firewall add portopening TCP 135 DCOM_TCP135

Удаленно включаем службу удаленный рабочий стол (Remote Desktop)

Wmic /node:»servername» /user:»[email protected]» /password:»password» RDToggle where ServerName=»server name» call SetAllowTSConnections 1

Вывод служб которые запускают с правами LocalSystem

/output:c:idcns.html service where startname=»LocalSystem» get Caption,name,started

Список шар на локальном машине

wmic share get caption,name,path

Перечисление всех путей к папкам из которых запущены программы

wmic.exe process get «ExecutablePath», «ProcessID»

Драйверы в системе возможно останавливать или запускать например:

wmic sysdriver where name=’beep’ call PauseService

методы класса Win32_SystemDriver

StartService -> запускает службу или драйвер

StopService -> останавливает службу или драйвер

PauseService -> переводит службу или драйвер в состояние паузы

ResumeService -> восстанавливает состояние драйвера или службы

InterrogateService -> заставляет службу или драйвер обновить своё состояние в SCM

UserControlService -> позволяет послать службе или драйверу пользовательское сообщение.

Create -> создаёт новую службу или драйвер

Change -> изменяет службы или драйвер

ChangeStartMode -> изменяет режим запуска службы или драйвера

Delete -> удаляет службу или драйвер

Выключаем локальную машину.

ping -n seconds 127.0.0.1>nul Win32Shutdown 6 — 6 = 2 (reboot) + 4 (force). Никакого видимого сообщения о перезагрузке выведено не будет.

Полезные информационные сборки параметров.

wmic computersystem get domain, EnableDaylightSavingsTime, Manufacturer, Model, PartOfDomain, TotalPhysicalMemory, username

wmic bios get Caption, Manufacturer, SMBIOSBIOSVersion, Version

wmic baseboard get Manufacturer, Model, Product, SerialNumber, Version

wmic cpu get deviceID, Addresswidth, MaxClockSpeed, Name, Manufacturer, ProcessorID

wmic logicaldisk where drivetype=3 get name, freespace, systemname, filesystem, size, volumeserialnumber

= 1 NoRootDirectory The drive does not have a root directory.

= 2 Removable The drive is a removable storage device, such as a floppy disk drive or a USB flash drive.

= 3 Fixed The drive is a fixed disk.

= 4 Network The drive is a network drive.

= 5 CDRom The drive is an optical disc device, such as a CD or DVD-ROM.

= 6 Ram The drive is a RAM disk.

Задание приоритета процессору

wmic process where «name=’notepad.exe’» call setpriority 64

Выполнение команд через wmic

просто вставляем в командную строку

wmic process call create ‘cmd.exe /c ping 10.30.10.101′

Прописываем DNS-суффиксы удаленно

wmic /node: /failfast:on nicconfig call SetDNSSuffixSearchOrder (ford-i.ru,tc-toyota.local,lexus.local)

Прописываем DNS-сервера

nicconfig where index=8 call setdnsserversearchorder («10.30.5.2″,»10.30.5.3″)

,где index= указывает номер интерфейса в системе на котором у вас поднята сеть

Команды загружаемые при входе системы

wmic startup list full system

wmic:rootcli>/output:c:startup_full.html startup list full /format:htable

wmic:rootcli>/output:c:startup_system.html startup list system /format:htable

Источник: adminotes.ru

Обзор средств работы с WMI для администратора

Формально: аббревиатура WMI – это Windows Management Instrumentation (инструментарий управления Windows). Данная технология давно перешагнула рамки управления только операционной системой Windows и позволяет контролировать множество других совместимых с ней приложений.

По своей сути WMI – это расширенная и адаптированная компанией Microsoft реализация стандарта WBEM (WebBased Enterprise Management компании DMTF Inc ). В основе WBEM лежит идея создания универсального интерфейса мониторинга и управления к различным системам и компонентам распределенной информационной среды предприятия с использованием объектно-ориентированной идеологии и широко распространенных веб-технологий представления информации: протоколов XML и HTTP. Стандарт WBEM является правопреемником стандарта DMI (Desktop Management Interface).

В основе структуры представления данных в стандарте WBEM лежит CIM (Common Information Model – модель информации общего типа), реализующая объектно-ориентированный подход к представлению компонентов систем как классов со своим набором свойств и методов, а также принципов наследования.

Основное средство для описания новых элементов модели CIM – это синтаксис языка Managed Object Format (MOF), который является текстовым и легко понятным человеку. Таким образом, любое приложение или драйвер в операционной системе, которая поддерживает стандарт WBEM, может добавить к системной модели CIM свой набор классов. Такое расширение модели CIM позволяет легко интегрировать в единую систему мониторинга и управления все новые и новые приложения. Для этой интеграции приложение должно лишь зарегистрировать свои классы в существующей модели CIM и обеспечить стандартные вызовы встроенных процедур для создания объектов этих классов и наполнения их свойствами и методами. Набор этих процедур оформляется, как WMI Provider – специальная библиотека, являющаяся мостом между любым приложением и ядром службы WMI.

Таким образом, WMI – это открытая унифицированная библиотека (репозиторий) однотипных интерфейсов доступа к параметрам, настройки и свойствам различных систем и их компонентов.

Читайте также:
Программа bash что это

Архитектура WMI представлена на рис. 1.

Рис. 1. Архитектура WMI

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

Обзор средств работы с WMI для администратора

Начнем знакомство с WMI с обзора утилит, которые позволяют вам работать с WMI на ОС семейства Windows. Условно разделим этот набор утилит на поставляемые с операционной системой по умолчанию и набор утилит, которые потребуется скачивать с сайта компании Microsoft.

К первой категории относятся следующие утилиты:

  • wmimgmt.msc – оснастка консоли MMC, позволяющая в целом управлять самой системой WMI на выбранном компьютере;
  • Winmgmt.exe – консольная утилита управления WMI. Выполняет аналогичные действия, что и консоль MMC wmimgmt.msc. Кроме того, является исполняемым файлом сервиса WMI в системе. Для запуска из консоли используется с опцией /exe (winmgmt.exe /exe);
  • Wbemtest.exe – графическая утилита для интерактивной работы с WMI. Удобна для тестирования классов и методов, просмотра свойств и т. п.;
  • Wmic.exe – консольная утилита для вызова объектов и методов WMI (WMI Console) – присутствует только в Windows XP и Windows Server 2003;
  • mofcomp.exe – компилятор MOF-файлов. Служит для расширения репозитория WMI и тонких операций с библиотекой классов WMI, а также для «ремонта» нарушенного репозитория.

Ко второй категории средств для работы с WMI, которые требуется дополнительно устанавливать, относятся:

  • WMI Code Creator 1.0 – очень удобная и полезная утилита для создания готовых сценариев WMI. Поддерживает языки Visual Basic Script, C# и Visual Basic .NET;
  • WMI Administrative Tools – комплект средств в составе: WMI CIM Studio, WMI Event Registration, WMI Event Viewer и WMI Object Browser. Удобная среда разработки и тестирования WMI-классов и методов;
  • Scriptomatic 2.0 – мастер в формате Hyper Text Application (HTA). Удобна для создания готовых сценариев и на различных скриптовых языках. Поддерживает Visual Basic Script, Perl, Java Script и Python;
  • Tweakomatic Utility – утилита в формате Hyper Text Application (HTA). Содержит множество настроек системы, обычно доступных через утилиты-твикеры (например, Windows XP Power Toys TweakUI), для которых позволяет сгенерировать WMI-скрипты для их автоматической настройки. Весьма полезна при разработке сценариев автоматизированной установки и настройки.

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

Для того чтобы рассмотреть возможности и особенности всех средств работы с WMI, которые перечислены выше, не хватит и целого журнала, поэтому мы кратко остановимся на некоторых из них наиболее полезных и (или) наиболее употребимых. Собственно, к таким относятся следующие утилиты: WBEMTEST, WMIC, WMI Administrative Tools и довольно новая, но весьма полезная и удачная утилита WMI Code Creator 1.0.

Надо отметить, что существуют и другие утилиты и средства работы с WMI, в том числе разработанные не компанией Microsoft – это средство ADSI Scriptomatic, позволяющее создавать скрипты для управления службой каталогов Microsoft Active Directory.

Можно автоматизировать работу с WMI с помощью сценариев Windows Script Host (WSH), используя при этом совместно с WMI и другие ActiveX-технологии (например, ActiveX Data Object (ADO) для доступа к базам данных или Active Directory Service Interface (ADSI) для работы со службами каталогов), получив, таким образом, мощный и удобный инструмент для системного администратора и программиста. Все примеры сценариев WSH в данной лабораторной работе будут приводиться на языке VBScript. Имейте в виду, что сценарии, приведенные в лабораторной работе, написаны не для практического применения, а лишь для иллюстрации излагаемого материала (например, в сценариях отсутствует какая-либо обработка ошибок). Кроме того, вы не найдете здесь много готовых рецептов для решения конкретных задач администрирования, поскольку цель приведенных примеров — опять же, лишь ознакомление со структурой и возможностями WMI.

Технология WMI реализована для всех 32-разрядных версий Windows, начиная с Windows 95 OSR 2 и заканчивая Windows Server 2003. В операционных системах Windows Me/2000/XP и Windows Server 2003 никакой дополнительной установки WMI не требуется, здесь уже функционирует ядро WMI версии 1.5. Для операционных систем Windows 9x/NT необходимо обновить ядро WMI до версии 1.5. Необходимый для этого инсталляционный файл wmicore.exe можно скачать с сервера Microsoft.

Общая структура WMI

WMI состоит из следующих частей:

· Менеджер объектов CIM (Common Information Model Object Manager, CIMOM), который обеспечивает обработку всех запросов конечных приложений к WMI и доставку информации от WMI к конечным приложениям. Все провайдеры WMI (см. ниже) должны быть зарегистрированы с помощью CIMOM для правильного перенаправления полученных от конечного приложения запросов к нужному провайдеру. Функциональность CIMOM обеспечивает файл winmgmt.exe, который находится в каталоге %SystemRoot%System32Wbem. Этот файл запускается как сервис.

· Репозиторий (хранилище классов) CIM. Объекты-экземпляры таких классов создаются провайдером WMI (см. ниже) по запросу потребителя. В Windows Server 2003 и Windows XP репозиторий физически располагается в каталоге %SystemRoot%System32WbemRepositiryFS в файлах objects.data (репозиторий), index.btr (индексный файл), index.map и object.map (файлы контроля над транзакциями). В более ранних версиях Windows репозиторий располагается в файле cim.rep.

· Провайдеры WMI, которые скрывают детали внутренней реализации управляемых объектов, позволяя CIMOM обращаться к этим объектам единообразно, используя WMI API. Фактически провайдеры являются COM-серверами, которые представлены dll-библиотеками в каталоге %SystemRoot%System32Wbem. WMI включает множество встроенных провайдеров, которые предназначены для получения данных из различных источников, например, журналов событий, системного реестра и т.д.

· Библиотека поддержки сценариев (WMI scripting library), которая располагается в файле wbemdisp.dll в каталоге %SystemRoot%System32Wbem.

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

Потребители WMI (конечные приложения) могут обращаться к управляемым объектам с помощью специального языка запросов WMI Query Language (WQL). CIMOM позволяет создавать обработчики событий управляемых объектов (например, снижение объема дискового пространства до заданного значения, запуск определенного процесса и т.п.). Для этого CIMOM периодически опрашивает нужный объект (интервал опроса задается в конечном приложении) и в случае необходимости генерирует событие.

Количество классов CIM зависит от версии операционной системы. Например, для Windows Server 2003 в CIM хранится около 5000 классов. Классы, составляющие CIM, находятся в иерархической зависимости друг от друга, и классы-потомки могут наследовать, переопределять и добавлять свойства родительских классов. Классы CIM группируются в пространства имен (namespaces), которые упорядочены иерархически.

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

Источник: megaobuchalka.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru