A full system volume degrades services quickly — but panic deletion causes worse outages than the full disk. Follow this order exactly.
Immediate relief (first 5 minutes)
# 1. Empty all recycle bins on the volumeClear-RecycleBin -DriveLetter C -Force -ErrorAction SilentlyContinue # 2. Clear Windows temp locations older than 24hGet-ChildItem "C:\Windows\Temp", "$env:TEMP" -Recurse -Force -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-1) } | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue # 3. Remove superseded update payloads (safe, reversible via re-download)Dism.exe /Online /Cleanup-Image /StartComponentCleanupFind the real consumer
The relief steps buy minutes. Now find what actually filled the disk — nine times out of ten it is one of: log files with rotation disabled, a runaway crash-dump folder, IIS logs, or WSUS content.
# Top 15 directories by size — takes a minute on a large volumeGet-ChildItem C:\ -Directory -ErrorAction SilentlyContinue | ForEach-Object { [pscustomobject]@{ Path = $_.FullName SizeGB = [math]::Round((Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum / 1GB, 2) }} | Sort-Object SizeGB -Descending | Select-Object -First 15Never delete
- Anything under C:\Windows\WinSxS directly — use DISM, never manual deletion
- pagefile.sys / hiberfil.sys by hand — change the setting instead
- Database or Exchange transaction logs — these need a backup, not a delete
- Files you cannot identify — full is recoverable, corrupt is not
Afterwards
Raise a problem record. A disk that filled once will fill again — the fix is capacity monitoring with a forecast alert, or log rotation, not the cleanup itself.
Was this article helpful?
98% of 1,451 readers found it useful