ЛАБОРАТОРНАЯ РАБОТА № 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!