Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Получение информации об устройствах компьютера




WMI (Windows Management Instrumentation) является открытой унифицированной системой интерфейсов доступа к любым параметрам операционной системы, устройствам и приложениям, которые функционируют в ней.

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

%SystemRoot%\System32\WBEM\Repository\FS.

Для визуального просмотра сведений о устройствах служит компонент ОС Windows «Сведения о системе» (msinfo32.exe), который отображает подробные сведения о конфигурации оборудования, компонентах и программном обеспечении компьютера, включая драйверы.

 

 

В левой области окна «Сведения о системе» приведен список категорий, а в правой - подробные сведения о каждой из них. К этим категориям относятся:

Аппаратные ресурсы. Общие сведения о компьютере и операционной системе, такие как имя компьютера и его изготовитель, тип используемой BIOS, а также объем установленной памяти.

Класс Win32_BIOS позволяет получить информацию о атрибутах BIOS (Базовая система ввода-вывода).

Классы Win32_BaseBoard, Win32_MotherboardDevice, Win32_SystemSlot позволяют получить информацию о системной плате.

Класс Win32_Bus представляет физические шины.

Пример

Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")

For Each objObject In objService.ExecQuery("SELECT * FROM Win32_Bus")

       WScript.Echo objObject.Caption 'наименование устройства

       WScript.Echo objObject.Description 'описание

       WScript.Echo objObject.BusType 'тип шины (1 - ISA, 5 - PCI Bus, 15 - PNP Bus и т.д.)

       WScript.Echo objObject.DeviceID 'идентификатор устройства

       WScript.Echo objObject.SystemName 'имя компьютера

       WScript.Echo

Next

 

Класс Win32_OnBoardDevice представляет общие адаптеры, встроенные в системную плату.

Класс Win32_Processor позволяет получить информацию о процессоре. Так как сейчас в большинстве систем находятся процессоры из нескольких ядер, то и экземпляров класс Win32_Processor будет несколько.

Пример

Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")

For Each objProc In objService.ExecQuery("SELECT * FROM Win32_Processor")

       WScript.Echo objProc.Caption 'краткое описание процессора

       WScript.Echo objProc.Description 'краткое описание процессора

       WScript.Echo Trim(objProc.Name) 'наименование процессора

       'номер версии процессора, зависящий от архитектуры

       WScript.Echo objProc.Version

       WScript.Echo objProc.Manufacturer 'производитель

       WScript.Echo objProc.DeviceID 'уникальный идентификатор процессора в системе

              WScript.Echo objProc.SystemName 'имя компьютера

Next

 

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

Классы Win32_PhysicalMemory, Win32_MemoryDevice, Win32_MemoryArray, Win32_PhysicalMemoryArray, Win32_DeviceMemoryAddress, Win32_DMAChannel позволяют получить информацию о различных видах оперативной памяти. Класс Win32_MemoryDevice предоставляет информацию о начальных и конечных адресах для всех устройств памяти, установленных на компьютере. Пример получения информации:

 

Результат:

 

 

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

Классы (Win32_PortConnector, Win32_PortResource, Win32_ParallelPort, Win32_SerialPort, Win32_SerialPortConfiguration)позволяют получить информацию о различных видах портов ввода-вывода. Порт представляет собой канал передачи данных между устройством и микропроцессором. Порт представляется в микропроцессоре как один или несколько адресов памяти, из которых можно прочитать или в которые можно записать данные. Класс Win32_PortConnector предоставляет информацию о физических портах подключения, таких, как Centronics, PS/2 и т.д. Класс Win32_PortResource предоставляет информацию обо всех портах ввода - вывода (I/O ports), найденных на компьютере.

Класс Win32_Keyboard позволяет получить информацию о клавиатуре. Стандартная клавиатура имеет 101 или 102 клавиши. Клавиатуры друг от друга отличаются по типу подключения: Usb, PS/2, блютуз.

Класс Win32_PointingDevice позволяет получить информацию о мыши. Мыши отличаются друг от друга по виду, по типу подключения, разъемами и размеру.

Класс Win32_SoundDeviceсодержит сведения о звуковой карте.

Класс CIM_VideoControllerResolution представляет различные видео режимы, которые поддерживает видео контроллер. Класс Win32_VideoController содержит сведения о видеокарте.

Классы Win32_NetworkAdapter и Win32_NetworkAdapterConfiguration содержат сведения о сетевых адаптерах. Сетевые адаптеры различаются по типу и разрядности используемой в компьютере внутренней шины данных – ISA, EISA, PCI, MCA. Сетевые адаптеры различаются также по типу принятой в сети сетевой технологии – Ethernet, Token Ring, FDDI и т.п  Некоторые сетевые адаптеры имеют возможность использовать оперативную память ПК в качестве буфера для хранения входящих и исходящих пакетов данных. Базовый адрес (Base Memory Address) представляет собой шестнадцатеричное число, которое указывает на адрес в оперативной памяти, где находится этот буфер.

Класс Win32_DesktopMonitor предоставляет сведения о мониторе, подключённом к компьютерной системе. Мониторы отличаются друг от друга размером экрана, форматом LSD матрицы, разрешением LSD матрицы, поверхностью экрана монитора, яркостью LSD монитора, контрастность LSD матрицы, глубиной цвета матрицы монитора.

Класс Win32_DiskDrive предоставляет сведения о приводах дисков.  

Пример.

Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")

If Err.Number <> 0 Then

       WScript.Echo Err.Number & ": " & Err.Description

       WScript.Quit

End If

For Each objDisk In objService.ExecQuery("SELECT * FROM Win32_DiskDrive")

       WScript.Echo objDisk.SystemName 'имя компьютера

       WScript.Echo objDisk.Caption 'наименование устройства

       WScript.Echo objDisk.Model 'модель, указанная производителем

       WScript.Echo objDisk.Description 'описание устройства

       WScript.Echo objDisk.DeviceID 'идентификатор устройства

       WScript.Echo objDisk.PNPDeviceID 'идентификатор устройства Plug-and-Play

       WScript.Echo objDisk.Manufacturer 'производитель

       WScript.Echo objDisk.Index 'номер диска (если 0xFF - не отображает физический диск)

       WScript.Echo objDisk.InterfaceType 'тип интерфейса (IDE, SCSI)

       WScript.Echo objDisk.MediaType 'тип носителя (Removable media, Fixed hard disk

       WScript.Echo objDisk.SCSIBus 'номер шины SCSI

       WScript.Echo objDisk.SCSILogicalUnit 'номер SCSI устройства

       WScript.Echo objDisk.SCSIPort 'номер порта SCSI

       WScript.Echo objDisk.SCSITargetId 'идентификационный номер SCSI

       WScript.Echo objDisk.TotalHeads 'количество головок

       WScript.Echo objDisk.BytesPerSector 'количество байт в секторе

       WScript.Echo objDisk.SectorsPerTrack 'количество секторов на дорожке

       WScript.Echo objDisk.TracksPerCylinder 'количество дорожек в цилиндре

       WScript.Echo objDisk.TotalCylinders 'количество цилиндров

       WScript.Echo objDisk.TotalSectors 'общее количество секторов

       WScript.Echo objDisk.TotalTracks 'общее количество дорожек

       WScript.Echo objDisk.Size 'размер диска (по количеству цилиндров, дорожек, секторов и размеру сектора)

       WScript.Echo objDisk.Partitions 'количество разделов на диске

       WScript.Echo

Next

 

Класс Win32_CDROMDrive предоставляет сведения об устройствах CD-ROM.

Пример

Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")

For Each objDisk In objService.ExecQuery("SELECT * FROM Win32_CDROMDrive")

       WScript.Echo objDisk.SystemName 'имя компьютера

       WScript.Echo objDisk.Caption 'наименование устройства

       WScript.Echo objDisk.Description 'описание устройства

       WScript.Echo objDisk.DeviceID 'идентификатор устройства

       WScript.Echo objDisk.Manufacturer 'производитель

       WScript.Echo objDisk.Id 'drive letter

       WScript.Echo objDisk.Size 'размер диска

       WScript.Echo objDisk.VolumeName 'метка тома

       WScript.Echo objDisk.VolumeSerialNumber 'серийный номер тома

Next

Класс Win32_PnPEntity представляет все установленные устройства Plug-and-Play.

Plug and Play (сокр. PnP) — технология, предназначенная для быстрого определения и конфигурирования устройств в компьютере и других технических устройствах. Технология PnP основана на использовании объектно-ориентированной архитектуры, ее объектами являются внешние устройства и программы. Операционная система автоматически распознает объекты и вносит изменения в конфигурацию абонентской системы.

Процесс установки устройства и драйвера устройства в ОС Windows показан на следующей диаграмме.

 

 


 


Задания для выполнения

Выполните одно из заданий, приведенных в таблице (вариант задает преподаватель). Для получения полной информации о свойствах и методах класса обращайтесь к MSDN (http://msdn.microsoft.com/en-us/library/aa394388(v=vs.85).aspx). Поиск в MSDN названия того или иного класса позволяет быстро получить перечень всех его свойств и методов. Можно также воспользоваться скомпилированным файлом справки script_center.chm.

Вари-ант Задание
1 Создайте сценарий WMI, выполняющий запись в файл сведений о материнской плате: производитель, тип первичной шины системной платы, тип вторичной шины системной платы, тип шины (1 - ISA, 5 - PCI Bus, 15 - PNP Bus и т.д.) Использовать классы - Win32_BaseBoard, Win32_MotherboardDevice, Win32_OnBoardDevice, Win32_Bus,Win32_SystemSlot
2 Создайте сценарий WMI, выполняющий запись в файл сведений о количестве процессоров и скорости  процессора, о размерах кэша 1-го и 2-го уровня. Использовать классы - Win32_Processor, Win32_CacheMemory
3 Создайте сценарий WMI, выполняющий запись в файл сведений о количестве свободной физической памяти, о диапазоне доступных адресов. Использовать классы - Win32_PhysicalMemory, Win32_MemoryDevice, Win32_DMAChannel
4 Создайте сценарий WMI, выполняющий запись в файл сведений обо всех портах ввода - вывода (I/O ports), найденных на компьютере Использовать классы -  Win32_PortResource, Win32_ParallelPort, Win32_SerialPort
5 Создайте сценарий WMI, выполняющий запись в файл сведений о скринсейвере и разрешении экрана, наименование клавиатуры и количество функциональных клавиш. Использовать классы - Клавиатура (Win32_Keyboard), Монитор (Win32_DesktopMonitor)
6 Создайте сценарий WMI, выполняющий запись в файл сведений о наименовании, производителе и количестве кнопок мыши,  характеристиках шины системной платы. Использовать классы - Мышь (Win32_PointingDevice), Шина(Win32_Bus)
7 Создайте сценарий WMI, выполняющий запись в файл сведений о идентификаторах и производителях устройств Plug-and-Play, наименование и производители аудиоустойств. Использовать классы - Аудио (Win32_SoundDevice), устройства Plug-and-Play (Win32_PnPEntity)
8 Создайте сценарий WMI, выполняющий запись в файл сведений о качестве цветопередачи (количество бит на пиксель), частоте обновления экрана (Гц), описание видеопроцессора. Использовать классы - Видео (Win32_VideoController), Класс CIM_VideoControllerResolution
9 Создайте сценарий WMI, выполняющий запись в файл сведений о  файловых системах логических дисков, о IP адресе компьютера Использовать классы - (Win32_LogicalDisk,  Win32_NetworkAdapterConfiguration)
10 Создайте сценарий WMI, выполняющий запись в файл сведений о том, имеются ли на компьютере CD-ROM, его марка, о  устройствах, подключенных к USB портам. Диски (Win32_DiskDrive), CD-ROM (Win32_CDROMDrive) (Win32_USBHub)

 

Приложение. Алфавитный перечень классов провайдера WMI Win32

Имя класса WMI Описание
Win32_BaseBoard Управление материнской платой, она также называется motherboard, или системная плата.
Win32_BIOS Управления базовыми сервисами ввода/вывода (Basic input/output services, BIOS).
Win32_BootConfiguration Управление конфигурацией загрузки (Boot configuration management).
Win32_CDROMDrive Управление приводом CD-ROM.
Win32_ComputerSystem Управление системой компьютера.
WIN32_PROCESSOR Управление процессором.
Win32_ComputerSystemProduct Получение от SMBIOS информации о компьютере как системном продукте.
CIM_DataFile Управление данными файлов (DataFile Management).
WIN32_DCOMApplication Управление приложениями (DCOM Application management).
WIN32_DESKTOP Управление рабочим столом пользователя (User’s Desktop management).
WIN32_DESKTOPMONITOR Desktop Monitor management
Win32_DeviceMemoryAddress Управление адресами памяти устройств (Device memory addresses management).
Win32_DiskDrive Управление диском на физическом уровне (Physical disk drive management).
Win32_DiskQuota Управление квотами NTFS пространства диска (Disk space usage for NTFS volumes).
Win32_DMAChannel Управление каналами прямого доступа к памяти (Direct memory access, DMA channel management).
Win32_Environment Управление настройками системного окружения (System environment settings management)
Win32_Directory Управление директориями файловой системы (Filesystem directory entry management).
Win32_Group Управление группами учетных записей (Group account management).
Win32_IDEController Управление контролером диска IDE (IDE Controller management).
Win32_IRQResource Управление сигналами прерываний (Interrupt request line, IRQ management).
Win32_ScheduledJob Предоставляет доступ к назначенным заданиям (jobs scheduled) с использованием службы назначенных заданий (schedule service).
Win32_LoadOrderGroup Управление службами системы, которые задают зависимости запуска (execution dependencies).
Win32_LogicalDisk Управление дисковыми локальными устройствами хранения (Local storage device management).
Win32_LogonSession Управление сессиями пользователей (LOGON Sessions).
WIN32_CACHEMEMORY Управление кешем (Cache memory management).
Win32_LogicalMemoryConfiguration Управление памятью системы (как сконфигурирована карта памяти, и как память доступна для приложений и сервисов).
Win32_PhysicalMemoryArray Управление памятью компьютера на физическом уровне (Computer system’s physical memory management).
WIN32_NetworkClient Управление клиентом сети (Network Client management).
Win32_NetworkLoginProfile Управление информацией учетной записи сети для отдельного пользователя.
Win32_NetworkProtocol Управление протоколами и их сетевыми характеристиками.
Win32_NetworkConnection Управление активным сетевым соединением.
Win32_NetworkAdapter Управление сетевым адаптером (Network Interface Controller, NIC).
Win32_NetworkAdapterConfiguration Управление конфигурацией сетевого адаптера.
Win32_NTDomain Управление доменом NT.
Win32_NTLogEvent Получение доступа к логам событий (Entries in the NT Event Log).
Win32_NTEventlogFile Управление файлом лога (NT eventlog file management).
Win32_OnBoardDevice Управление общими адаптерами, установленными в материнскую плату (system board).
Win32_OperatingSystem Управление инсталлированными операционными системами.
Win32_PageFileUsage Управление виртуальной памятью и её вытеснением  на диск.
Win32_PageFileSetting Установка параметров файла виртуальной памяти.
Win32_DiskPartition Управление логическими разделами физического диска (Management of partitioned areas of a physical disk).
Win32_PortResource Управление портами ввода/вывода (I/O port management).
Win32_PortConnector Управление физическим соединением портов (Physical connection ports management).
Win32_PrinterConfiguration Управление конфигурацией принтера.
Win32_PrintJob Управление заданиями принтера.
Win32_Process Управление процессами.
Win32_Product Управление задачей инсталляционных пакетов (Installation package task management).
Win32_QuickFixEngineering Быстрое исправление ошибок (Quick Fix Engineering).
Win32_QuotaSetting Установка информации о квотах, установленных для тома диска (Setting information for disk quotas on a volume).
Win32_OSRecoveryConfiguration Информация, которая была захвачена из памяти при крахе системы.
Win32_Registry Управление реестром системы.
Win32_SCSIController Управление контроллером SCSI.
Win32_PerfRawData_PerfNet_Server Управление информацией о сервере.
Win32_Service Управление прикладными сервисами.
Win32_Share Управление общими сетевыми ресурсами (Shared resource management).
Win32_SoftwareElement Управление элементами программных продуктов, установленных в системе.
Win32_SoftwareFeature Управление подмножествами программных продуктов SoftwareElement.
WIN32_SoundDevice Управление устройством звука.
Win32_StartupCommand Управление командами автозапуска при входе пользователя в систему.
Win32_SystemAccount Управление учетной записью системы (System account management).
Win32_SystemDriver Управление системным драйвером для базовой службы (Management of the system driver for a base service).
Win32_SystemEnclosure Управление физическим доступом к корпусу компьютера (Physical system enclosure management).
Win32_SystemSlot Управление физичесими соединениями, включая порты, слоты и периферийные устройства, и точками проприетарных соединений.
Win32_TapeDrive Управление накопителем на магнитной ленте.
Win32_TemperatureProbe Управление данными от датчика температуры (электронный термометр).
Win32_TimeZone Управление данными часового пояса (Time zone data management).
Win32_UninterruptiblePowerSupply Управление источником бесперебойного питания (Uninterruptible power supply, UPS).
Win32_UserAccount Управление учетными записями пользователей (User account management).
Win32_VoltageProbe Управление данными сенсора напряжения (электронный вольтметр).
Win32_VolumeQuotaSetting Связывает установки дисковой квоты с определенным дисковым томом.
Win32_WMISetting Управляет рабочими параметрами службы WMI.

 

Контрольные вопросы.

1. На какие категории делятся устройства ввода-вывода?

2. Перечислите основные функции контроллера?

3. Какие операции выполняет драйвер в подсистеме ввода-вывода?

4. Что такое прерывание?

5. Какими способами ОС реагирует на прерывания?

6. Перечислите основные задачи программного слоя подсистемы ввода-вывода.

7. Перечислите основные функции драйвера.

8. Перечислите функции программного обеспечения ввода-вывода пространства пользователя.

9. Объясните принципы технологии PnP.

 

Используемая литература:










Последнее изменение этой страницы: 2018-04-12; просмотров: 367.

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