first commit
This commit is contained in:
43
查看系统温度.ps1
Executable file
43
查看系统温度.ps1
Executable file
@@ -0,0 +1,43 @@
|
||||
# Read system thermal zones via WMI (if supported by your BIOS/driver)
|
||||
# Run as Administrator for best chance. Output saved to .txt in same folder.
|
||||
# If no data appears, use HWiNFO or Core Temp - see "Temperature monitoring guide" in this folder.
|
||||
|
||||
$ReportDir = $PSScriptRoot
|
||||
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
|
||||
$LogFile = Join-Path $ReportDir "TemperatureLog_$Timestamp.txt"
|
||||
|
||||
$lines = @()
|
||||
$lines += "Temperature check at $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')"
|
||||
$lines += "Computer: $env:COMPUTERNAME"
|
||||
$lines += ""
|
||||
|
||||
try {
|
||||
$zones = Get-CimInstance -Namespace "root/wmi" -ClassName MSAcpi_ThermalZoneTemperature -ErrorAction Stop
|
||||
if (-not $zones -or $zones.Count -eq 0) {
|
||||
$lines += "No thermal zones reported (BIOS/driver may not expose temperature via WMI)."
|
||||
$lines += "Use HWiNFO or Core Temp - see Temperature monitoring guide in this folder."
|
||||
}
|
||||
else {
|
||||
$idx = 0
|
||||
foreach ($z in $zones) {
|
||||
$idx++
|
||||
$kelvin10 = $z.CurrentTemperature
|
||||
if ($null -eq $kelvin10 -or $kelvin10 -eq 0) {
|
||||
$lines += "Zone $idx : Not supported or zero"
|
||||
continue
|
||||
}
|
||||
$celsius = ($kelvin10 / 10.0) - 273.15
|
||||
$lines += "Zone $idx : $([Math]::Round($celsius, 1)) C (raw $kelvin10)"
|
||||
}
|
||||
}
|
||||
}
|
||||
catch {
|
||||
$lines += "WMI read failed: $($_.Exception.Message)"
|
||||
$lines += "Use HWiNFO or Core Temp - see Temperature monitoring guide in this folder."
|
||||
}
|
||||
|
||||
$text = $lines -join "`r`n"
|
||||
$text | Set-Content -Path $LogFile -Encoding UTF8
|
||||
Write-Host $text
|
||||
Write-Host ""
|
||||
Write-Host "Log saved to: $LogFile" -ForegroundColor Green
|
||||
Reference in New Issue
Block a user