Windowsを長く使っていると、気がついたらCドライブの空き容量が不足していることがあります。
システムドライブが圧迫されると、パフォーマンス低下やWindows Updateエラー、アプリのインストール不可など様々なトラブルを引き起こします。
本記事では、Cドライブの空き容量を確保するための代表的な方法を一般ユーザー向け、上級者向け、企業環境向けに分けて紹介し、最後に容量が一定以下になったら自動でユーザーへ通知する仕組みも解説します。
目次
- 1. 一般ユーザー向けの方法
- 2. 上級者向け:コマンドやPowerShellを活用
- 3. 企業環境向け:Intuneやグループポリシーで自動化
- 4. 容量が一定以下になったら警告:ユーザー通知を自動化
- まとめ
1. 一般ユーザー向けの方法
1-1. ディスク クリーンアップを利用
- Cドライブを右クリック → 「プロパティ」 → 「ディスク クリーンアップ」。
- 削除可能なファイルを選択して実行。
- 「システムファイルのクリーンアップ」で更に詳細に削除可能。
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で自動化・監視・通知。
さらに自動通知を仕組みに加えれば、容量不足を事前に把握して迅速に対処可能です。


コメント