first commit

This commit is contained in:
jack
2026-04-04 15:32:51 +08:00
commit a862314d94
34 changed files with 10253 additions and 0 deletions

39
GetCpuTemp.ps1 Executable file
View File

@@ -0,0 +1,39 @@
# Read CPU temperature via LibreHardwareMonitor WMI.
# Prereq: 1) Install LibreHardwareMonitor 2) Run it (as Admin) 3) Keep it running
# winget install LibreHardwareMonitor.LibreHardwareMonitor
param([switch]$ListAll)
$ns = "root\LibreHardwareMonitor"
$ok = $false
try {
$sensors = Get-CimInstance -Namespace $ns -ClassName Sensor -ErrorAction Stop
$ok = $true
} catch {
Write-Host "LibreHardwareMonitor WMI not available. Ensure:" -ForegroundColor Yellow
Write-Host " 1. LibreHardwareMonitor is installed"
Write-Host " 2. LibreHardwareMonitor.exe is running (can be minimized)"
Write-Host " 3. Run LibreHardwareMonitor as Administrator"
Write-Host "Error: $($_.Exception.Message)" -ForegroundColor Red
exit 1
}
if ($ListAll) {
$sensors | Where-Object { $_.SensorType -eq 'Temperature' } | Select-Object Name, Parent, Value | Format-Table -AutoSize
exit 0
}
# Intel CPU (adjust to /amdcpu/0 for AMD)
$cpu = $sensors | Where-Object { $_.SensorType -eq 'Temperature' -and $_.Parent -like '/intelcpu/*' }
if (-not $cpu) {
$cpu = $sensors | Where-Object { $_.SensorType -eq 'Temperature' -and $_.Parent -like '/amdcpu/*' }
}
if (-not $cpu) {
Write-Host "No CPU temperature sensor found. Try -ListAll to see available sensors." -ForegroundColor Yellow
exit 1
}
$cpu | ForEach-Object {
$c = if ($null -ne $_.Value) { [Math]::Round($_.Value, 1) } else { "N/A" }
Write-Host "$($_.Name): $c C (Parent: $($_.Parent))"
}