Como obter a temperatura da CPU no sistema Windows usando o Snmp e o cmd

1

Atualmente, estou trabalhando no NMS Zabbix. Depois de algum R & D, eu sou capaz de obter informações sobre a temperatura da CPU no Linux via snmp, assim como no terminal usando LM-SENSORS. No entanto, o mesmo não funciona para o Windows; Eu vejo o windows não tem LM-SENSORS, e talvez seja por isso que o LM-SENSOR-MIB não está dando nenhuma saída para o Windows. Alguém pode sugerir quais mibs podem ser usados no Windows para obter informações de temperatura da CPU e também como posso obter as mesmas informações em um terminal cmd?

    
por gadhvi 16.08.2017 / 07:31

1 resposta

2

Como posso obter a temperatura da CPU em um shell cmd?

Tente o seguinte.

Arquivo em lote (GetCpuTmp.cmd)

@echo off
for /f "skip=1 tokens=2 delims==" %%A in ('wmic /namespace:\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature /value') do set /a "HunDegCel=(%%~A*10)-27315"
echo %HunDegCel:~0,-2%.%HunDegCel:~-2% Degrees Celsius

Source O arquivo em lote recebe a temperatura da CPU em ° C e é definido como variável , respondido por David Ruhmann

Exemplo de saída:

> GetCpuTemp.cmd
73.05 Degrees Celsius

Função do PowerShell (get-temperature.psm1)

function Get-Temperature {
    $t = Get-WmiObject MSAcpi_ThermalZoneTemperature -Namespace "root/wmi"

    $currentTempKelvin = $t.CurrentTemperature / 10
    $currentTempCelsius = $currentTempKelvin - 273.15

    $currentTempFahrenheit = (9/5) * $currentTempCelsius + 32

    return $currentTempCelsius.ToString() + " C : " + $currentTempFahrenheit.ToString() + " F : " + $currentTempKelvin + "K"  
}

# Save in your c:\users\yourName\Documents\WindowsPowerShell\modules\ directory
# in sub directory get-temperature as get-temperature.psm1
# You **must** run as Administrator.
# It will only work if your system & BIOS support it. If it doesn't work, I can't help you.

# Just type get-temperature in PowerShell and it will spit back the temp in Celsius, Farenheit and Kelvin.

Source Obtenha a temperatura da CPU com o PowerShell

Exemplo de saída:

> get-temperature
73.05 C : 163.49 F : 346.2K
    
por 16.08.2017 / 12:44