Получить температуру Intel PCH с помощью Powershell

Я пытаюсь получить температуру Intel PCH с помощью powershell. Я не могу найти способ получить эту температуру с помощью wmi. Чипсет на моей машине - HM77. Я пытался прочитать таблицу данных, представленную на сайте Intel, но безуспешно. Кто-нибудь знает как это сделать?

Спасибо.

Примечание: я могу прочитать этот датчик температуры Intel PCH через приложение HWINFO, поэтому это можно сделать как-то.


person MrPear    schedule 19.02.2014    source источник
comment
Также на заметку - кто-нибудь знает приблизительную температуру, до которой может дойти чипсет hm77 и оставаться без каких-либо физических повреждений?   -  person MrPear    schedule 19.02.2014


Ответы (3)


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

Get-WmiObject -Class Win32_PerfFormattedData_Counters_ThermalZoneInformation |Select-Object Name,Temperature

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

Name      Temperature
----      -----------
\_TZ.PCHZ         400
\_TZ.BATZ         273
\_TZ.LOCZ         334
\_TZ.EXTZ         327
\_TZ.GFXZ         335
\_TZ.CPUZ         337

Отредактировано (30 апреля 2016 г.)

Для тех, кто использует CommandLine и может использовать

wmic /namespace:\\root\cimv2 PATH Win32_PerfFormattedData_Counters_ThermalZoneInformation get Temperature

Все температуры указаны в кельвинах, вы можете легко преобразовать их в C или F.

person Ashish    schedule 28.04.2016
comment
@DanielWiddis Я добавил команду для командной строки. Попытайся! - person Ashish; 30.04.2016

Думаю, я понял. В командной строке powershell я набрал wmic и ввел приглашение «wmic: root\cli>». Затем я набрал temperature, и он перечислил все датчики с их идентификаторами устройств. В CreationClassName указано «Win32_TemperatureProbe».

Теперь вам просто нужно найти правильное свойство для чтения temp. Они объясняются здесь: класс Win32_TemperatureProbe

Сценарий PS для вывода списка всех свойств со значениями:

$probes = Get-WmiObject -class Win32_TemperatureProbe
foreach($probe in $probes) {
    Write-Host $probe
    $probe | Format-List -Property *
}

Я не нашел свою температуру MB, потому что у меня на материнской плате есть два датчика, и я не знаю, какой из них какой, и у меня нет времени читать документацию, но это должно помочь вам начать.

person AdamL    schedule 19.02.2014
comment
Я не думаю, что это возможно через WMI. В документации MSDN говорится, что показания свойства CurrentReading в реальном времени не могут быть извлечены из таблиц SMBIOS. По этой причине текущие реализации WMI не заполняют свойство CurrentReading. Наличие свойства CurrentReading зарезервировано для использования в будущем. :-( - person HAL9256; 19.02.2014
comment
@ HAL9256 HAL9256 Вы правы, и это сказано в первом предложении на сайте, который я разместил :). облом. Что ж, подождем какого-нибудь будущего релиза. - person AdamL; 19.02.2014
comment
Да, я тоже это читал и подумал, что TemperatureProbe, Sweet!.... о, подождите... будущий релиз... ааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааововов но никак ни о чем ни того ни другого? Но кроме того, вы опубликовали отличный ответ, хорошо документированный, со ссылкой на MSDN, полный сценарий; это получило мой голос! - person HAL9256; 19.02.2014
comment
Спасибо за ваш ответ! Итак, я уже просмотрел классы win32 и не смог найти ничего, связанного с фактическими датчиками температуры материнской платы. Я еще немного покопался, и кажется, что в зависимости от производителя, иногда датчик не подвергается (или подвергается другому воздействию) WMI. Любые другие идеи очень приветствуются! (похоже, пока я писал этот ответ, первыми пробрались 3 человека :) ) - person MrPear; 19.02.2014

Чтобы использовать PowerShell, вам, вероятно, придется делать это через WMI (т.е. очень хороший ответ @frikozoid). К сожалению, невозможно получить показания температуры через WMI. В документации MSDN говорится

«Показания свойства CurrentReading в режиме реального времени не могут быть извлечены из таблиц SMBIOS. По этой причине текущие реализации WMI не заполняют свойство CurrentReading. Наличие свойства CurrentReading зарезервировано для использования в будущем».

:-(

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

Самым простым инструментом для мониторинга температуры материнской платы, который я нашел, является SpeedFan. Он поддерживает практически все существующие материнские платы и довольно прост в использовании.

Что касается температуры, обычно вы хотите, чтобы ваш чипсет оставался ниже 60 ° C. Температура процессора может достигать 70 ° C, а также температура графического процессора. В общем, если вы можете держать все ниже 60C, все будет работать очень хорошо в течение длительного времени. Я знаю, что в моей системе, если температура моего графического процессора превышала 70°C, все начинало портиться, и обычно система зависала.

---Редактировать---

Похоже, вы можете сделать это через SpeedFan. В SpeedFan есть способ настройки событий (см.: Настройка событий). это для выполнения сценария, когда ваша температура достигает определенного значения.

person HAL9256    schedule 19.02.2014
comment
Спасибо за ваш ответ, моя цель — написать скрипт powershell для управления тактовой частотой. Мой мобильный телефон нагревается намного больше (доходит до 95), чем мой процессор или видеокарта (максимальная температура которых составляет всего 60-65), из-за отсутствия охлаждения на материнской плате (это ноутбук). Таким образом, ограничивающим фактором в моем ноутбуке являются мои темпы PCH, и я хочу написать скрипт для его непосредственного мониторинга и, таким образом, изменения тактовой частоты. (Я изменяю свои тактовые частоты, просто изменяя состояния настроек питания). Любые идеи о том, как поднять температуру материнской платы до PS, были бы замечательными. Есть ли способы восстановления из SpeedFan? - person MrPear; 19.02.2014
comment
Хороший совет, но, к сожалению, SpeedFan не может отслеживать температуру процессора на моей материнской плате :( хорошо иметь в виду на будущее. Если у вас есть какие-либо другие идеи, это было бы потрясающе. - person MrPear; 21.02.2014