Cドライブ(システムドライブ)の空き容量を確保したい時の対処方法

ITシステム、インフラ、ビジネス関連記事のアイキャッチ画像 IT知識・技術

Windowsを長く使っていると、気がついたらCドライブの空き容量が不足していることがあります。
システムドライブが圧迫されると、パフォーマンス低下やWindows Updateエラー、アプリのインストール不可など様々なトラブルを引き起こします。
本記事では、Cドライブの空き容量を確保するための代表的な方法を一般ユーザー向け上級者向け企業環境向けに分けて紹介し、最後に容量が一定以下になったら自動でユーザーへ通知する仕組みも解説します。

目次

1. 一般ユーザー向けの方法

1-1. ディスク クリーンアップを利用

  1. Cドライブを右クリック → 「プロパティ」 → 「ディスク クリーンアップ」。
  2. 削除可能なファイルを選択して実行。
  3. システムファイルのクリーンアップ」で更に詳細に削除可能。

1-2. 不要なアプリや機能をアンインストール

「設定」→「アプリ」から大容量のアプリや不要な機能を削除。

1-3. ダウンロードフォルダと一時ファイルを整理

「ダウンロード」や %temp% の不要ファイルを削除。

1-4. 大きなファイルを探して移動・削除

エクスプローラーで size:>500MB を入力し大容量ファイルを特定。

1-5. OneDrive/クラウドのオンデマンド機能

ローカル保存をやめ「オンライン専用」に切替えて容量を節約。

1-6. 復元ポイントやバックアップの整理

「システムの保護」から古い復元ポイントを削除。

1-7. ストレージセンサーを有効化

「設定」→「システム」→「記憶域」で自動クリーンアップを有効化。


2. 上級者向け:コマンドやPowerShellを活用

2-1. Cleanmgrの詳細設定

cleanmgr /sageset:1
cleanmgr /sagerun:1

2-2. DISMで不要な更新ファイル削除

dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase

2-3. WinSxSのサイズ分析

dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

2-4. PowerShellで一時ファイル削除

Remove-Item "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "C:\Windows\Temp\*" -Recurse -Force -ErrorAction SilentlyContinue

2-5. 大容量ファイルの上位を抽出

Get-ChildItem C:\ -Recurse -ErrorAction SilentlyContinue |
  Where-Object { -not $_.PSIsContainer } |
  Sort-Object Length -Descending |
  Select-Object FullName, @{Name="SizeMB";Expression={"{0:N2}" -f ($_.Length/1MB)}} -First 20

3. 企業環境向け:Intuneやグループポリシーで自動化

3-1. Intune(エンドポイントマネージャー)

  • 構成プロファイルでストレージセンサー自動実行を有効化。
  • PowerShellスクリプト配布で一時フォルダを定期クリア。
  • スケジュールタスク配布で自動化。

3-2. グループポリシー(オンプレAD)

  • cleanmgr.exe /sagerun をログオンやスケジュールで実行。
  • ごみ箱や一時ファイル削除のポリシー適用。

3-3. 監視とレポート

Endpoint Analytics / SCCM / Log Analyticsで空き容量を監視。


4. 容量が一定以下になったら警告:ユーザー通知を自動化

しきい値を下回るとトースト通知・イベントログ・任意でTeamsに通知します。

4-1. PowerShellスクリプト例

# Cドライブ監視スクリプト(簡略)
$ThresholdGB = 10
$disk = Get-CimInstance Win32_LogicalDisk -Filter "DeviceID='C:'"
$freeGB = [math]::Round($disk.FreeSpace / 1GB, 2)
if ($freeGB -lt $ThresholdGB) {
  Add-Type -AssemblyName PresentationFramework
  [System.Windows.MessageBox]::Show("Cドライブ空き容量が不足しています(空き: $freeGB GB)","ディスク空き容量不足",'OK','Warning')
}

※詳細版ではBurntToastやTeams連携も可能(本文参照)。

4-2. タスクスケジューラで毎時実行

Register-ScheduledTask -TaskName "CFreeMonitor" `
  -Action (New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-File C:\Scripts\Check-CFree.ps1") `
  -Trigger (New-ScheduledTaskTrigger -Once (Get-Date).Date.AddMinutes(5) -RepetitionInterval (New-TimeSpan -Minutes 60) -RepetitionDuration ([TimeSpan]::MaxValue)) `
  -RunLevel Highest -Force

4-3. Intune配布

スクリプトを Intune「デバイス→スクリプト」から配布し、しきい値監視を自動化。


まとめ

Cドライブ空き容量不足はシステムの安定性に直結します。
一般ユーザー:ディスククリーンアップ・ストレージセンサー。
上級者:DISMやPowerShellで詳細に最適化。
企業管理者:IntuneやGPOで自動化・監視・通知。

さらに自動通知を仕組みに加えれば、容量不足を事前に把握して迅速に対処可能です。

コメント

タイトルとURLをコピーしました