ЛАБОРАТОРНАЯ РАБОТА № 3. ТЕХНОЛОГИЯ WMI



Цель работы;   Удаленный доступ к ресурсам операционной системы  с использованием технологии WMI. Знакомство с утилитой командной строки wmic.

Теоретическое введение

Технология WMI

    WMI (Windows Management Instrumentation) – инструментарий управления Windows). Данная технология является одной из базовых технологий компании Microsoft.  WMI предназначена для централизованного управления и слежения за работой различных частей распределенной компьютерной системы. Таким образом, WMI  является универсальным средством для управления компьютерной системой.

    Технология WMI реализует объектно-ориентированный подход к представлению компонентов систем как классов со своим набором свойств и методов, а также принципов наследования. Структура технологии WMI изображена на рисунке 31.1. Описание основных компонентовWMI  приведено в таблице 3.1.

    Для мониторинга и управления компьютером с помощью технологии WMI можно воспользоваться встроенными средствами ОС Windows, а именно,  консольной утилитой wmic.        

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

      Select * from Win32_LogicalDisk

    Можно уточнить поиск с помощью конкретных «полей» в запросе. Следующий запрос вернет свободное место, размер и имя всех фиксированных дисков:

Select FreeSpace,Size,Name from Win32_LogicalDisk where DriveType=3

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

 

 

 


Таблица 3.1 Описание основных компонентов технологии WMI

Компонент Описание
Management Application (WMI Consumer) Управляющее приложение (потребитель WMI). В данном случае - это приложение пользователя
CIM Object Manager (CIMOM) Диспетчер объектов CIM (CIMOM). Обеспечивает обработку всех запросов конечных приложений к WMI и доставку информации от WMI к конечным приложениям.
CIM Repository Репозитарий (хранилище классов) CIM. Объекты-экземпляры данных классов создаются провайдером WMI по запросу потребителя.
Providers Провайдеры WMI.  Скрывают детали внутренней реализации управляемых объектов, позволяя CIMOM обращаться к этим объектам единообразно, используя WMI API.
Manager Obiect Управляемый объект.  

Для формирования WMI запроса с помощью утилиты WMI Code Creator Выполняются следующие действия:

· Запускается файл WMICodeCreator.exe (см. рисунок 3.2);

· В пункте «Code Language» главного меню выбирается язык программирования (в данном случае C#);

· В пункте «Code Language» главного меню выбирается опция «Local Computer» или «Remote Computer;

· Выбирается закладка «Query for data from WMI class», и на данной закладке выбирается требуемый класс. Список некоторых классов приведен в таблице 3.2.

 

 


Таблица 3.2 Перечень некоторых классов  WMI

Класс Описание
1 2
Win32_BaseBoard Предоставление сведений о материнской плате (наименование устройства, описание, производитель, серийный номер, версия и т.д.)   
Win32_BIOS предоставляет информацию об установленной на компьютере BIOS

Продолжение таблицы 3.2

1 2
Win32_BootConfiguration Получение информации о загрузчике системы
Win32_Bus Предоставляет сведения о физических шинах
Win32_CacheMemory Представляет сведения о внутренней и внешней кэш-памяти в компьютерной системе
Win32_CDROMDrive Предоставляет сведения об устройствах CD-ROM
Win32_ClassicCOMClassSetting Предоставляет информацию об установленных в системе COM-серверах
Win32_ComputerSystem Получение общей информации о компьютере
Win32_ComputerSystemProduct Получение информации о фирме-изготовителе
Win32_Desktop Получение информации о рабочем столе
Win32_DesktopMonitor Предоставляет сведения о мониторе, подключённом к компьютерной системе
Win32_DeviceMemoryAddress Предоставляет информацию о начальных и конечных адресах памяти для всех устройств, установленных на компьютере
Win32_DiskDrive Предоставляет сведения о дисководах
Win32_DiskPartition Информация о разделах диска
Win32_DMAChannel Предоставляет информацию о каналах DMA (прямого доступа к памяти) на компьютере
Win32_Environment Информация о переменных окружения
Win32_Group Получение списка групп локальной машины
Win32_Keyboard Содержит сведения о клавиатуре
Win32_LogicalDisk Получение информации о логическом диске
Win32_MemoryArray Предоставляет информацию о начальных и конечных адресах для всех массивов памяти, установленных на компьютере
Win32_MemoryDevice Предоставляет информацию о начальных и конечных адресах для всех устройств памяти, установленных на компьютере

Продолжение таблицы 3.2

1 2
Win32_MotherboardDevice Предоставляет сведения о материнской плате (наименование устройства, описание, идентификатор, тип первичной шины системной платы, тип вторичной шины системной платы и т.д.)
Win32_NetworkAdapter и Win32_NetworkAdapterConfiguration Содержат сведения о сетевых адаптерах
Win32_NetworkConnection Список подключенных сетевых ресурсов
Win32_OnBoardDevice Представляет сведения, об общих адаптерах, встроенных в системную плату
Win32_OperatingSystem Получение информации об операционной системе
Win32_PointingDevice Содержит сведения о мыши
Win32_ParallelPort Содержит сведения о параллельных портах
Win32_PortResource Предоставляет информацию обо всех портах ввода - вывода (I/O ports), найденных на компьютере
Win32_Product Предоставляет информацию об установленных с помощью Windows Installer программных продуктах
Win32_PhysicalMemory Представление информации о физической памяти, расположенной на компьютере и доступной операционной системе
Win32_PhysicalMemoryArray Предоставляет информацию о массиве физической памяти компьютера
Win32_PnPEntity Получение списка всех установленных устройств Plug-and-Play
Win32_Processor Получение информации о процессорах
Win32_Process Список процессов
Win32_SoundDevice Содержит сведения о звуковой карте
Win32_StartupCommand Предоставляет информацию о командах автозагрузки, выполняемых при регистрации пользователей
Win32_SystemEnclosure Физические параметры компьютера (полученеи свойств, связанных с физическим системным корпусом компьютера)
Win32_Share Получение списка общих файлов и каталогов

Продолжение таблицы 3.2

1 2
Win32_SerialPort и Win32_SerialPortConfiguration Содержат сведения о последовательных портах
Win32_Service Список запущенных и остановленных сервисов
Win32_SoftwareFeature Предоставляет информацию об установленных с помощью Windows Installer компонентах программ
Win32_SystemSlot Получение информации о слотах системной платы
Win32_TemperatureProbe Снятие показаний темперутры с датчиков материнской платы
Win32_VideoController Получение информации о видеоконтроллере
Win32_UserAccount Получение учетных записей компьютера

 

Примечание: При работе с локальным компьютером в качестве имени компьютера можно указывать «.».

    Все классы технологии WMI делятся на следующие группы:

Классы WMI для работы со службами Windows.   

    Классы Win32_BaseService, Win32_Service и Win32_SystemDriver представляют службы Windows. У данных классов есть важные методы:

· Change - возможность изменить любые параметры службы: режим запуска, отображаемое имя, имя пользователя/пароль, от имени которого будет запускаться эта служба, даже заменить исполняемый файл службы (указать новый путь к нему);

· Create - возможность создать новую службу на компьютере;

· Delete - удалить службу;

· PauseService, ResumeService, StopService, StartService - изменить состояние службы. Проверить, можно ли службу остановить или приостановить, можно при помощи свойств AcceptStop и AcceptPause.

Наиболее часто встречающиеся ситуации для работы со службами:

· необходимо централизованно изменить пароль для всех служб, работающих от имени определенной учетной записи

· перевести какую-либо службу (чаще всего ICS и Server) в режим Disabled

· отследить состояние службы и в случае необходимости ее запустить

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


Классы  WMI  для работы с файлами и каталогами

    Основной класс для работы с файловой системой в WMI - Win32_Directory, который может быть использован для работы, как с каталогом, так и с отдельным файлом. Его главные методы:

· Copy и CopyEx (расширенная версия, отличается возможностью включить/отключить рекурсию и более точно определить место возникновения ошибки) - копирование каталога/файла;

· Delete/DeleteEx - удаление каталога/файла;

· Compress/CompressEx - компрессия каталога/файла;

· Uncompress/UncompressEx, Rename - декомпрессия каталога/файла;

· ChangeSecurityPermissions - возможность поменять разрешения для файла.

 

Классы WMI  для работы с журналами Windows

    Очень часто в практической работе необходимо выполнять какие-либо повторяющиеся действия с журналом событий Windows: архивировать его, загружать в базу данных, централизованно производить поиск на разных серверах на предмет выявления специфических событий, менять свойства журналов, просто записывать свои события в журнал, производить непрерывный мониторинг журналов и т.п. Для этой цели в WMI предназначены классы Win32_NTLogEventFile (представляет журнал событий Windows) и Win32_NTLogEvent (представляет отдельное событие в этом журнале).

     Если требуются сообщения только из конкретного журнала (или только ошибки, или только сообщения от какого-то источника), информацию можно получить фильтрованием журналов средствами WQL.

    Если требуется выполнить какие-то операции с самим журналом событий, можно воспользоваться  следующими методами класса Win32_EventLogFile:

· CopyEventLog – копировать содержимое журнала;

· ClearEventLog – очистить журнал

Классы WMI для работы с операционной системой

    Класс Win32_OperatingSystem имеет следующие свойства:

· CSDVersion - последний установленный сервис-пак;

· Locale - языковая версия операционной системы;

· LastBootTime - последнее время загрузки

· Version - версия операционной системы и т.п.

        

    Кроме того, для класса Win32_OperatingSystem предусмотрено три метода:

· Reboot - перезагрузка;

· Shutdown - выключение;

· Win32Shutdown - выключение (появляются дополнительные возможности выключения).

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

КлассWin32_Process: запуск, завершение работы, мониторинг процессов на компьютере. Это один из наиболее часто используемых классов WMI. При помощи данного класса можно получить те возможности, которых часто не хватает в реальной работе: возможность централизованно запустить программы на многих компьютерах с указанными администратором параметрами, отследить запуск/завершение программ, выяснить, какие программы «поедают» ресурсы процессора/памяти/сети и т.п. Особенно удобно то, что для выполнения таких операций нет необходимости ставить на компьютер какого-либо клиента удаленного доступа - достаточно работающей по умолчанию службы WMI.

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

    Класс Win32_StartupCommand - возможность посмотреть, какие команды выполняются при запуске Windows с информацией о том, из какой ветви реестра производится их запуск;

    Класс Win32_Account, Win32_UserAccount, Win32_Group - возможность получить доступ к учетным записям - локальным, если обращение идет к обычному компьютеру, или доменным, если обращение идет к контроллеру домена. При помощи этих объектов пользователь не может вносить изменения в учетные записи. Данные классы   предназначены только для чтения информации и мониторинга;

    ласс Win32_BootConfiguration - возможность получить информацию о параметрах загрузки Windows (все доступно только на чтение).

Классы WMI для работы с аппаратной конфигурацией компьютера

    Технология WMI имеет группу классов для работы со следующими аппаратными средствами компьютера: устройствами Plug-and-Play, системной платой, процессором, памятью, портами, клавиатурой, мышью, аудио и видео системой компьютера, сетью, монитором, дисками (см. таблицу 3.2).

 


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

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






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