PowerShellでCPU温度をモニタリングする方法

CPU温度をモニタリングすることは、パソコンのパフォーマンスや耐久性にとって非常に重要です。この記事では、PowerShellを用いたCPU温度モニタリングの基本から応用までを解説します。初心者向けにもわかりやすく、コードの日本語解説と補足事項も含めています。

目次

なぜCPU温度モニタリングが重要なのか

CPUはパソコンの”脳”とも言える部分であり、過度な熱はパフォーマンス低下や故障の原因となります。したがって、温度を常に監視することで、未然に問題を防ぐことが可能です。

故障の予防

高温は故障の直接的な原因となります。特に夏場や密閉した場所での使用は注意が必要です。

パフォーマンス向上

温度が一定範囲内に収まると、CPUは最大パフォーマンスで動作できます。これが重要な処理をする際には特に重要です。

PowerShellでのCPU温度モニタリングの基本

基本的なコード例を以下に示します。このコードは、WMI(Windows Management Instrumentation)を用いてCPU温度を取得します。

# WMIから「MSAcpi_ThermalZoneTemperature」を参照
$ThermalInfo = Get-WmiObject -Query "SELECT * FROM MSAcpi_ThermalZoneTemperature" -Namespace "root\WMI"

# 温度をケルビンから摂氏に変換
$Celsius = ($ThermalInfo.CurrentTemperature - 2732) / 10

# 結果を表示
Write-Host "CPU温度は${Celsius}℃です。"

コード解説

  • Get-WmiObject:WMIオブジェクトを取得するコマンド
  • -Query:SQL風のクエリで指定されたWMIクラスを検索
  • -Namespace:WMI名前空間を指定
  • CurrentTemperature:現在の温度情報(ケルビンで取得)

補足事項としての注意点

WMIによる取得はWindows環境専用です。また、一部のマザーボードやCPUではこの方法が利用できない場合もあります。

応用例

以下のコードは、指定した時間間隔でCPU温度をログとして保存する例です。

# 無限ループで実行
while ($true) {
    $ThermalInfo = Get-WmiObject -Query "SELECT * FROM MSAcpi_ThermalZoneTemperature" -Namespace "root\WMI"
    $Celsius = ($ThermalInfo.CurrentTemperature - 2732) / 10
    $time = Get-Date
    Add-Content -Path "C:\path\to\your\log.txt" -Value "$time, $Celsius"
    Start-Sleep -Seconds 60  # 60秒待機
}

このコードを用いることで、時間と温度のログがlog.txtに保存されます。

まとめ

CPU温度のモニタリングは、システムの安全性とパフォーマンスに直接関わる重要な作業です。PowerShellを用いることで、簡単にこの作業を自動化することが可能です。基本的なコードから応用まで、この記事で解説した方法を使えば、初心者でも簡単にCPU温度を監視することができます。

コメント

コメントする

目次