[登録されているタグ]

[記事公開日]2025/12/22

PowerShellでディスク使用量を把握する|Get-Volume + 集計 の実用例

📝 はじめに

空き容量不足や動作が遅いトラブルの相談を受けたときに、
「どのドライブがどれだけ埋まっているのかを一括で把握したい」
「Cドライブだけでなく、外付けHDDやDドライブもまとめて見たい」
「“容量は減ってる”けど、どこから手を付ければいいの?」
と感じることはありませんか?

そんなときに便利なのが、
Get-Volume で取得した情報を集計して見やすくする方法です。
この記事では、実務でそのまま使いやすい「容量一覧(GB)」「使用率」「しきい値抽出」「合計値」などの例をまとめます。

こんな検索でたどり着く内容です

  • PowerShell Get-Volume 容量 一覧
  • ドライブ 使用率 PowerShell
  • 空き容量 しきい値 アラート PowerShell
  • ディスク容量 集計 スクリプト

✅ この方法でできること(要点)

  • ドライブ(ボリューム)ごとのサイズ・空き容量・使用率を一覧表示できる
  • GB表記に整形して見やすくできる
  • 空き容量が少ないドライブだけを抽出できる
  • 合計(総容量・総使用量・総空き)を集計できる
  • CSV出力など、後続の報告・記録に繋げやすい

✅ Get-Volume + 集計でできること

Get-Volume は、ドライブレター付きのボリューム情報を取得できるコマンドです。
ここから SizeSizeRemaining を使うと、
「総容量」「空き容量」「使用量」を計算できます。

Get-PSDrive よりもボリューム情報寄りなので、
ラベルやファイルシステムも併せて見たい場合に向いています。

🧩 基本構文

Get-Volume

まずは一覧を出して、取得できる項目(プロパティ)を把握するのが第一歩です。

▶ 基本的な使い方(まずこれだけ)

🔹 まずはボリューム一覧を表示する

Get-Volume

DriveLetter、FileSystemLabel、FileSystem、Size、SizeRemaining などが表示されます。
一覧が出ていれば、コマンドは正常です。

🔹 容量に関係する項目だけを抜き出す

Get-Volume | Select-Object DriveLetter, FileSystemLabel, FileSystem, Size, SizeRemaining

ここまでで「どのドライブがどれだけ空いているか」を把握する土台ができます。

🛠 よく使われる指定例

🔹 GB表記 + 使用率(%)の一覧を作る(実務向け)

Get-Volume |
  Where-Object DriveLetter |
  Select-Object DriveLetter, FileSystemLabel, FileSystem,
    @{Name="Size(GB)"; Expression={ [math]::Round($_.Size / 1GB, 2) }},
    @{Name="Free(GB)"; Expression={ [math]::Round($_.SizeRemaining / 1GB, 2) }},
    @{Name="Used(GB)"; Expression={ [math]::Round(($_.Size - $_.SizeRemaining) / 1GB, 2) }},
    @{Name="Used(%)"; Expression={ if ($_.Size -gt 0) { [math]::Round((($_.Size - $_.SizeRemaining) / $_.Size) * 100, 1) } else { $null } }} |
  Sort-Object "Used(%)" -Descending

ドライブレターがあるボリュームだけを対象にして、
GBと使用率を作って見やすくした例です。
容量逼迫が疑われるときは、使用率の高い順に並べると原因が掴みやすくなります。

ポイント

  • Where-Object DriveLetter で “ドライブとして見えているもの” に絞る
  • 使用率が高い順に並べると、初動調査が速い
  • Size が 0 の特殊ケースに備えて、%計算は if で分岐

🔹 空き容量が少ないドライブだけ抽出する(しきい値)

$thresholdGB = 10

Get-Volume |
  Where-Object DriveLetter |
  Where-Object { $_.SizeRemaining -lt ($thresholdGB * 1GB) } |
  Select-Object DriveLetter, FileSystemLabel,
    @{Name="Free(GB)"; Expression={ [math]::Round($_.SizeRemaining / 1GB, 2) }},
    @{Name="Size(GB)"; Expression={ [math]::Round($_.Size / 1GB, 2) }}

「空き10GB未満」など、よくある判断基準に合わせて抽出できます。
何も表示されなければ、条件に該当するドライブはありません。

🔹 合計(総容量・総空き・総使用)を集計する

$vol = Get-Volume | Where-Object DriveLetter

$totalSize = ($vol | Measure-Object -Property Size -Sum).Sum
$totalFree = ($vol | Measure-Object -Property SizeRemaining -Sum).Sum
$totalUsed = $totalSize - $totalFree

[PSCustomObject]@{
  "TotalSize(GB)" = [math]::Round($totalSize / 1GB, 2)
  "TotalFree(GB)" = [math]::Round($totalFree / 1GB, 2)
  "TotalUsed(GB)" = [math]::Round($totalUsed / 1GB, 2)
  "Used(%)"       = if ($totalSize -gt 0) { [math]::Round(($totalUsed / $totalSize) * 100, 1) } else { $null }
}

複数ドライブを管理している環境で、
「全体としてどれくらい余裕があるか」を把握したいときに便利です。

💼 実務でよく使う使用例(応用)

🔹 “報告用”にCSVに出す(トラブル対応の記録に)

$report = Get-Volume |
  Where-Object DriveLetter |
  Select-Object DriveLetter, FileSystemLabel, FileSystem,
    @{Name="SizeGB"; Expression={ [math]::Round($_.Size / 1GB, 2) }},
    @{Name="FreeGB"; Expression={ [math]::Round($_.SizeRemaining / 1GB, 2) }},
    @{Name="UsedGB"; Expression={ [math]::Round(($_.Size - $_.SizeRemaining) / 1GB, 2) }},
    @{Name="UsedPct"; Expression={ if ($_.Size -gt 0) { [math]::Round((($_.Size - $_.SizeRemaining) / $_.Size) * 100, 1) } else { $null } }}

$report | Export-Csv -Path ".\volume_report.csv" -NoTypeInformation -Encoding UTF8

お客様への説明や、社内の記録に残す用途にも使いやすい形です。
まず一覧を出して状況を共有し、次の手順(整理・移動・削除)に進めます。

🔹 “よくある整理の方向性”を決めるための見方

判断の目安

  • 使用率が高い(例:90%超) → まず容量確保(不要ファイル整理・移動)を検討
  • 空きが十分あるのに遅い → 容量以外(ディスク劣化・I/Oエラー等)も疑う
  • 外付けHDD/SSDで急に減った → バックアップ同期やコピー重複の可能性
組み合わせ例

  • Get-Volume で容量と使用率を可視化
  • Get-PSDrive で軽く全体確認
  • Get-ChildItem + 集計(次の段階)で「どのフォルダが重いか」を掘る

🧩 よくある勘違い・つまずきポイント

  • ドライブレターが無いボリューム(回復領域など)も存在するので、必要に応じて除外する
  • ネットワークドライブは Get-Volume では出ない/出方が違う場合がある
  • Size/SizeRemaining はバイト単位なので、GB換算しないと直感的に分かりにくい
  • 空き容量の“目安”は用途により変わる(OS用は余裕が必要な場合があります)

🔄 cmdとの違いについて

cmd でも容量確認はできますが、
「使用率を計算」「条件抽出」「CSV出力」といった集計は手間がかかりがちです。

PowerShellなら、Select-Object の計算列や
Measure-Object を使って、実務向けの形に整えやすいのが強みです。

⚠ エラー・うまく動かないときの確認ポイント

  • 管理者権限が必要な環境か(基本の取得は不要な場合が多い)
  • 取得対象がネットワークドライブ中心なら、Get-PSDrive の方が適する場合がある
  • 特殊なボリューム(回復領域など)を除外しているか

🧠 注意点

容量の数値は「その瞬間」の値なので、
バックアップ・コピー・同期が走っていると、すぐに変化する場合があります。

もし“突然”空きが減った場合は、
まずはこの一覧を取って現状を固定し、
次に「どのフォルダが大きいか」を掘る流れにすると原因に近づきやすいです。

📌 まとめ

  • Get-Volume で Size / SizeRemaining を取得し、使用量と使用率を計算できる
  • GB換算 + 使用率(%)で一覧化すると、実務で判断しやすい
  • しきい値抽出や合計集計で、トラブル対応の初動が速くなる
  • 次は「どのフォルダが重いか」の集計に進むと、原因特定がしやすい

🔎 PowerShellコマンドを探す

「容量不足の次に何を調べればいいか分からない」ときは、
やりたいことからコマンドを検索してみてください。

  • ファイルを削除したい
  • 一覧を表示したい
  • 文字列を検索したい
  • 条件で絞り込みたい
  • エラーや実行できない原因を調べたい
  • 空き容量や使用量を一覧で把握したい(Get-Volume / Get-PSDrive
  • 重いフォルダを探したい(Get-ChildItem + 集計)
Generic filters

サイト内検索(入力すると候補が出ます)

Generic filters


Generic filters

Generic filters

すべてを開く | すべてを閉じる
ページ上部へ戻る