Problemet
Vi har endepunkter med 200GB SSD-er. OneDrive tar seg av dokumentsikkerhetskopiering, men lokale nedlastinger fyller fortsatt disken over tid. Windows begynner å klage. Enhetene blir trege.
Jeg prøvde først Diskopprydding (cleanmgr.exe), men den krever GUI-interaksjon. Å kjøre den via Intune som SYSTEM viser ingenting på skjermen - den bare henger og venter på brukerinndata som aldri kommer.
Rammer
Jeg bygde en Proactive Remediation med to skript:
- Detection: Sjekker om diskplass er under terskel
- Remediation: Rydder opp temp-filer, cacher og søppel - helt stille
Beslutning
Deteksjonsskriptet bruker doble terskler. En enhet er ikke-compliant hvis:
- Ledig plass er under 15 GB, ELLER
- Ledig plass er under 10%
Dette fungerer godt på tvers av forskjellige diskstørrelser. En 128GB SSD med 10GB ledig (7.8%) utløser remediation. En 500GB disk med 40GB ledig (8%) utløser også. Prosenten fanger store disker, den absolutte verdien fanger små.
$MinFreeSpaceGB = 15
$MinFreeSpacePercent = 10
$disk = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DeviceID='C:'"
$freeSpaceGB = [math]::Round($disk.FreeSpace / 1GB, 2)
$freeSpacePercent = [math]::Round(($disk.FreeSpace / $disk.Size) * 100, 1)
$isCompliant = ($freeSpaceGB -ge $MinFreeSpaceGB) -and ($freeSpacePercent -ge $MinFreeSpacePercent)
# Fullt skript: https://github.com/Thugney/eriteach-scripts/blob/main/intune/remediations/diskspace-detection.ps1
Implementering
Remediation-skriptet mitt renser disse plasseringene stille:
| Plassering | Hva | Aldersfilter |
|---|---|---|
C:\Windows\Temp | System temp-filer | Alle |
C:\Windows\Prefetch | Prefetch cache | Eldre enn 7 dager |
C:\Windows\SoftwareDistribution\Download | Windows Update cache | Alle |
C:\Windows\Logs | Windows-logger | Eldre enn 14 dager |
C:\Users\*\AppData\Local\Temp | Bruker temp-filer | Alle |
| Papirkurv | Slettede filer | Alle |
C:\ProgramData\Microsoft\Windows\WER | Feilrapporter | Alle |
| Delivery Optimization cache | Oppdateringsdelings-cache | Alle |
| Miniatyrbildebuffer | Explorer-miniatyrbilder | Alle |
Jeg beholder nylige prefetch-filer (siste 7 dager) fordi Windows bruker dem til å fremskynde app-oppstart. Logger eldre enn 14 dager er trygge å fjerne.
For Windows Update cache stopper jeg wuauserv-tjenesten først, renser mappen, og starter tjenesten på nytt.
Stop-Service -Name wuauserv -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 2
# Rens SoftwareDistribution\Download
Start-Service -Name wuauserv -ErrorAction SilentlyContinue
# Fullt skript: https://github.com/Thugney/eriteach-scripts/blob/main/intune/remediations/diskspace-remediation.ps1
Resultat
- Gå til Intune > Devices > Remediations
- Klikk Create script package
- Navngi det “Disk Space Cleanup”
- Last opp deteksjonsskriptet
- Last opp remediation-skriptet
- Sett Run this script using the logged-on credentials: No
- Sett Run script in 64-bit PowerShell: Yes
- Tildel til en enhetsgruppe (målrettede enheter)
- Sett tidsplan - daglig eller hver 8. time avhengig av hvor aggressiv du vil være
Avveininger
Remediation-skriptet logger til C:\ProgramData\Intune\Logs\DiskSpace-Remediation.log. Du vil se oppføringer som:
2026-02-01 10:30:15 - === Starting disk cleanup ===
2026-02-01 10:30:15 - Free space before: 8.45 GB
2026-02-01 10:30:18 - Windows Temp : Freed 245.32 MB
2026-02-01 10:30:22 - User Temp (user01) : Freed 1024.50 MB
2026-02-01 10:30:25 - Recycle Bin: Freed 3500.00 MB
2026-02-01 10:30:26 - === Cleanup completed ===
2026-02-01 10:30:26 - Actual freed: 4850.23 MB
2026-02-01 10:30:26 - Free space after: 13.19 GB
Resultat
I en mellomstor enhetsflåte frigjør typisk opprydding 2-8 GB per enhet. De største gevinstene kommer fra:
- Papirkurv (brukere sletter men tømmer ikke)
- Bruker temp-filer (nettleserbuffer, installasjonsprogrammer)
- Windows Update cache etter funksjonsoppdateringer