Posted in
Windows Powershell,
Windows Server |
1 Comment | 7,361 views | 23/02/2014 21:33
We can use WMI to get CPU temperature via PowerShell:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| # Target Server
$Server = "localhost"
# Get Thermal Information
$ThermalInformation = Get-WmiObject -ComputerName $Server -Namespace "root\wmi" -Class "MSAcpi_ThermalZoneTemperature"
# Calculate CPU Temperature
if ($ThermalInformation)
{
$HostCPUTemperature = [math]::round((($ThermalInformation.CurrentTemperature - 2732) / 10), 0)
}
else
{
$HostCPUTemperature = "Unknown"
}
Write-Host CPU Temp: $HostCPUTemperature °C |
# Target Server
$Server = "localhost"
# Get Thermal Information
$ThermalInformation = Get-WmiObject -ComputerName $Server -Namespace "root\wmi" -Class "MSAcpi_ThermalZoneTemperature"
# Calculate CPU Temperature
if ($ThermalInformation)
{
$HostCPUTemperature = [math]::round((($ThermalInformation.CurrentTemperature - 2732) / 10), 0)
}
else
{
$HostCPUTemperature = "Unknown"
}
Write-Host CPU Temp: $HostCPUTemperature °C
In my case, CPU Temp is always 8 °C, I don’t know, Why :)