Найти тему

Мониторим железо ПК стандартными средствами Windows (WMI)

Если надо узнать, как зовут вашу материнку или процессор, а ставить лишних программ не хочется, можно воспользоваться компонентами, встроенными в ОС Windows.

Есть два типа таких программ - с графическим и консольным интерфейсом. Результаты работы примерно одинаковы, но через WMI (Windows Management Instrumentation) выковырять чуть больше данных.

Итак, начнем.

а) Диспетчер устройств

Можно найти в меню Пуск, в Панели управления и через Выполнить (нажимаем Win+R и вбиваем devmgmt.msc).

В Windows 8 и 10 можно нажать Win+X и выбрать вариант Диспетчер устройств.

Диспетчер устройств показывает все имеющиеся и подключенные устройства - процессор, диски, периферию и т.д., а также версии установленных драйверов.

Если устройство работает неправильно, Windows поставит на него предупреждающий желтый знак и предложит это как-то поправить, драйвера там поискать, например.

Диспетчер устройств показывает все подключенные устройства - процессор, диски, периферию и т.д., а также версии установленных драйверов.

Внешний вид Диспетчера устройств
Внешний вид Диспетчера устройств

Если устройство работает неправильно, Windows поставит на него предупреждающий желтый знак и предложит это как-то исправить, драйвера там поискать, например.

б) Сведения о системе

Можно найти в меню Пуск и через Выполнить (нажимаем Win+R и вбиваем msinfo32).

Встречает программа общей информацией о системе: какая версия ОС и BIOS, какой процессор, сколько памяти стоит и т.д.

Сведения о системе
Сведения о системе

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

в) Командная строка

А вот теперь самое интересное, потому что через CMD можно посмотреть больше подробностей и даже температуру CPU, если повезет.

В Windows 8 и 10 можно нажать Win+X и выбрать вариант Командная строка (Администратор). Или в Выполнить (Win+R) набрать cmd и поставить галку Запуск от имени администратора.

В Windows 7 проще найти ее в Пуске и нажать правой кнопкой, выбрав вариант - Запустить от имени администратора.

Итак, команды. Для начала возьмем простенькую systeminfo.

Вот что-то подобное выдаст
Вот что-то подобное выдаст

Результат похож на главное окно Сведений о системе. Скука.

Теперь обратимся к тяжелой артиллерии - WMI (Windows Management Instrumentation).

Вообще это страшная вещь, ей можно и настройку производить, сисадмины некоторые пользуются... Но мы же здесь только спросить, да?

Введем в CMD команду wmic. Должна появиться строка "wmic:root\cli>", означающая, что ввод идет в эту программу.

Можно получить справку, набрав /?, нас больше всего интересуют доступные псевдонимы (aliases) классов WMI.

Часть псевдонимов
Часть псевдонимов

На этой страничке есть более подробные пояснения, как тут чего набирать и как псевдонимы переводятся.

Если хочется увидеть все свойства класса, просто введем его название:

Окно прокручивается влево, когда свойств много
Окно прокручивается влево, когда свойств много

Если хотим видеть краткий список свойств:

<Название псевдонима> brief list

Чтобы запросить определенные свойства класса, набираем:

<Название псевдонима> get <названия свойств через запятую>

Чтобы записать результат команды в файл, нужно прописать в CMD (выйдя из wmi (!)):

wmic <команда> /format:формат > Путь_к_файлу\имя.расширение

Если надо добавить к файлу строку, прописываем:

wmic <команда> /format:формат >> Путь_к_файлу\имя.расширение

Формат сохранения может быть:

HFORM – вывод в виде таблицы HTML-формата с двумя колонками - название объекта и его значение. Ячейки расположены друг под другом. Удобно, когда объект класса один и свойств много (как у процессора, например)

HTABLE – тоже в виде таблицы HTML-формата, но ячейки с атрибутами расположены горизонтально. Удобно, когда объектов класса много (например, для портов или звуковых устройств)

LIST, VALUE – вывод свойства и его значения происходит построчно

TABLE – табличный формат вывода данных в txt

CSV – вывод в csv файл с разделителем запятой

XML – вывод данных в XML файл с генерированным оформлением

RAWXML – вывод данных в XML файл в "сыром" виде

MOF – формат MOF используется для компиляции новых классов WMI с помощью проги Mofcomp.exe

Фуух, теперь посмотрим пример:

Основная информация о компьютере (можно прописать в .bat):

@echo off

wmic os get Caption, OSarchitecture, CSDversion, Version, CSname, SystemDirectory, InstallDate /format:hform > D:\pc_info.htm

wmic baseboard get Product, Manufacturer, SerialNumber /format:htable >> D:\pc_info.htm

wmic bios list brief /format:hform >> D:\pc_info.htm

wmic cpu list brief /format:hform >> D:\pc_info.htm

wmic memorychip get DeviceLocator, Capacity, Speed /format:htable >> D:\pc_info.htm

wmic diskdrive get Model, Size, InterfaceType /format:htable >> D:\pc_info.htm

wmic volume get Name, Label, Capacity, Freespace, FileSystem /format:htable >> D:\pc_info.htm

Как видно из скринов, можно выковырять чуть больше инфы, чем позволяют Диспетчер устройств и Сведения о системе.

Еще полезные псевдонимы:

portconnector - внутренние и внешние порты материнской платы

idecontroller - контроллеры IDE

systemslot - слоты материнки (например, PCI, PCI-E)

nic, nicconfig - сетевые устройства и их конфигурации

sounddev - звуковые устройства

г) PowerShell

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

Ищется так же, как и ее старшая сестра - в Пуске или через Выполнить (Win+R) powershell.

По-сути, будут точно также считываться свойства классов WMI через команду Get-WmiObject (сокращенная форма: gwmi).

Если надо отобрать только конкретные свойства, нужно добавить:

| Select-Object <свойства через запятую>

Вбиваем в МогучуюРаковину следующие команды, чтобы увидеть спеки:

gwmi Win32_OperatingSystem

gwmi Win32_Processor | Select-Object Name, Description, CurrentClockSpeed, ExtClock, NumberOfCores, NumberOfLogicalProcessors, L2CasheSize, L3CasheSize, SocketDesignation, Manufacturer

gwmi Win32_BaseBoard

gwmi Win32_VideoController | Select-Object Name, AdapterRAM, VideoModeDescription, MaxRefreshRate, MinRefreshRate, DriverVersion, DriverDate

gwmi Win32_MemoryDevice | Select-Object Name, EndingAddress, StartingAddress

gwmi Win32_DiskDrive

gwmi Win32_LogicalDisk

gwmi Win32_NetworkAdapter

Вот такой результат
Вот такой результат