SSD・HDDの状態をPowerShellで確かめる方法|Get-PhysicalDiskと、信頼性カウンター(管理者でないとエラー)
SSDやHDDの状態は、PowerShellのGet-PhysicalDiskで、Windowsが把握している健康状態(HealthStatus)を確認できます。さらにGet-StorageReliabilityCounterを使うと、温度・読み書きエラーの数・SSDの消耗(Wear)などが出ます。ただし後者は、筆者の環境では、管理者でないPowerShellではエラーになりました。
この記事では、筆者のPCの3台のドライブで実際に出た結果を例に、確認の手順と、結果の読み方をまとめます。(確認日:2026年10月19日/Windows 11)
1. Get-PhysicalDiskで健康状態を見る
Get-PhysicalDisk | Select-Object FriendlyName, MediaType, BusType, HealthStatus, OperationalStatus, @{n='SizeGB';e={[math]::Round($_.Size/1GB)}} | Format-Table -AutoSize
筆者のPCの結果です(実測。管理者権限は不要でした)。
| FriendlyName | MediaType | BusType | HealthStatus | OperationalStatus | 容量 |
|---|---|---|---|---|---|
| TOSHIBA MD04ACA200 | HDD | SATA | Healthy | OK | 1,863GB |
| CT1000MX500SSD1 | SSD | SATA | Healthy | OK | 932GB |
| ESD310S TS1TESD310S-E | Unspecified | USB | Healthy | OK | 954GB |
Microsoftのコマンドレットのページでは、HealthStatusに指定できる値は、Healthy・Warning・Unhealthy・Unknownと案内されています(-HealthStatusパラメーターの値)。出力例のOperationalStatusは「OK」です。USB接続の外付けSSDは、MediaTypeが「Unspecified」と表示されました。
ボリューム(ドライブ文字)の状態は、Get-Volumeで見られます。筆者のPCでは、C・E・Fのボリュームが、HealthStatus「Healthy」、OperationalStatus「OK」でした。
Get-Volume | Where-Object { $_.DriveLetter } | Select-Object DriveLetter, FileSystemType, DriveType, HealthStatus, OperationalStatus
2. Get-StorageReliabilityCounterで詳しく見る
Get-PhysicalDisk | Get-StorageReliabilityCounter | Select-Object DeviceId, Temperature, Wear, PowerOnHours, ReadErrorsTotal, WriteErrorsTotal | Format-Table -AutoSize
Microsoftのページには、このコマンドレットは、指定したディスクの信頼性カウンターを取得するもので、デバイスの温度・エラー・消耗・使用時間などの情報が含まれる、と書かれています。出力例の項目には、Temperature、TemperatureMax、Wear、PowerOnHours、ReadErrorsTotal、WriteErrorsTotalなどがあります。
筆者の環境では、通常のPowerShellで実行すると「クライアントが CIM リソースへのアクセスを取得できませんでした」というエラーになり、値は取得できませんでした。管理者として実行すれば取得できる可能性がありますが、この記事ではその結果を確認していません。
項目の読み方(Microsoft Storageチームのブログより)
| 項目 | ブログの説明 |
|---|---|
| 読み取り・書き込みの失敗(ReadErrors / WriteErrors) | 他のドライブと比べなくても意味がある値。読み書きの失敗を報告しているドライブは、リスクがあるものとして扱う |
| 温度(Temperature) | 同じ種類・同じ型番のドライブと比べる時に役立つ。異なる型番では、通常の動作温度が違うことがある |
| 読み書きの遅延(Latency) | 同じ種類・同じ型番と比べる時に役立つ |
| 消耗(Wear) | SSDが寿命に近づいているかの確認に使える |
同じブログは、「この情報は、ディスクが正しくカウンターを報告していることが前提で、すべてのディスクがこの種の統計を報告するわけではない。そのため、ディスクごとの値は変わる」と注意しています。なお、このブログは2012年のもので、Windows 8・Windows Server 2012の時点の説明です。コマンドレットの現在のページは、上のとおりです。
3. 結果を見る時の注意
- Healthyは、故障しないという意味ではありません。値は、いまWindowsが把握している状態です。バックアップの代わりにはなりません(SSD・HDDが壊れる前後にやること)
- Warning・Unhealthyが出たら、そのドライブへの書き込みを控え、データを別のドライブへコピーすることを優先します(コピーの手順はrobocopyでMT5のフォルダをバックアップして照合する)
- USB接続のドライブは、MediaTypeが「Unspecified」になる場合がある(筆者のPCの外付けSSDの例)
- ファイルシステムのエラーは、別の確認です(chkdskの使い分け)
まとめ
- Get-PhysicalDiskのHealthStatus(Healthy・Warning・Unhealthy・Unknown)で、Windowsが把握している状態を確認できる。管理者権限は不要だった
- Get-StorageReliabilityCounterは、温度・エラー・消耗・使用時間を見られるが、筆者の環境では管理者でないとエラーになった
- 読み書きの失敗を報告するドライブは、リスクがあるものとして扱う(Microsoftのブログ)。すべてのディスクが報告するわけではない
- Healthyでもバックアップの代わりにはならない


