В предыдущей статье рассматривались способы получения данных о компьютере без использования стороннего ПО.
Теперь пришло время рассказать о получении данных о температуре процессора с помощью командной строки.
Вариантов команд получить температуру с помощью CMD несколько и все сводятся к считыванию свойств классов WMI, относящихся к измерению температуры:
wmic temperature get CurrentReading
wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature
wmic /namespace:\\root\wmi PATH Win32_TemperatureProbe get CurrentReading
wmic /namespace:\\root\cimv2 PATH Win32_PerfFormattedData_Counters_ThermalZoneInformation get Temperature
Есть еще одна команда получения температуры, через PowerShell:
gwmi MSAcpi_ThermalZoneTemperature -namespace "root/wmi"
Не стоит пугаться температуры больше 3000 градусов.
Температура записана в Кельвинах и, в некоторых случаях, умножена на 10, потому что шине удобнее работать с целыми числами без запятой.
Если число четырехзначное, надо вычесть из него 2732 и разделить на 10:
t = (3302-2732) = 57° C
Если трехзначное, нужно просто вычесть из него 273:
t =331-273 = 58° C
Может случиться так, что ни одна команда ничего не покажет:
Видим фразу Not supported или Not found, значит, производитель материнской платы не стал делать поддержку WMI.
У классов WMI, связанных с хранением данных о температуре, попросту нет доступа к датчикам. В таком случае придется ставить стороннее ПО для считывания данных с датчиков.
Кстати, про такое ПО у меня тоже есть статья:
Можете дать автору копеечку на кофе, а можете и не давать :)