Hoe u de cache en tijdelijke bestanden in gebruikersprofielen op Windows RDS kunt wissen met behulp van PowerShell en GPO.

Het beheren van schijfruimte op een Windows Server RDS-farm kan erg vervelend zijn, vooral wanneer gebruikersgegevens zich ophopen op de systeempartitie. Na verloop van tijd nemen de Prullenbak, de map Downloads, tijdelijke bestanden en de cache een flink deel van de schijfruimte in beslag, wat de prestaties kan vertragen of zelfs fouten kan veroorzaken. Daarom maakt het automatiseren van het opruimproces het leven een stuk gemakkelijker. Het gebruik van PowerShell-scripts en Groepsbeleid om oude bestanden te verwijderen, caches te wissen en de grootte van de Prullenbak te beheren is een echte uitkomst – tenminste, als je alles correct hebt ingesteld. Dit artikel laat je stap voor stap zien hoe je dat doet, met praktische opdrachten, paden en tips om je op weg te helpen. Verwacht minder rommel, voorkom schijfruimteproblemen en mogelijk zelfs snellere sessies zodra het goed is ingesteld.

Hoe los je schijfruimteproblemen op RDS-servers op door gebruikersprofielen en cachemappen op te schonen?

Automatisch de tijdelijke mappen en downloadmappen opruimen met Windows-opslagruimte.

Windows heeft een ingebouwde functie voor opslaginzicht, die erg handig is voor het automatisch verwijderen van oude, tijdelijke en onnodige bestanden. Deze functie is beschikbaar in Windows Server 2019/2022 en Windows 10/11 en kan worden beheerd via Groepsbeleid. Door deze functie in te schakelen, kunt u de mappen ‘Tijdelijke bestanden’ en ‘Downloads’ beheren zonder handmatige tussenkomst. Ga naar Instellingen > Opslag > Opslaginzicht, schakel de functie in en configureer het opschoonschema. Voor bedrijfsomgevingen moet u de juiste GPO-instellingen toevoegen. Kijk hiervoor onder Computerconfiguratie > Beleid > Beheersjablonen > Systeem > Opslaginzicht. De functie verwijdert automatisch bestanden zoals tijdelijke bestanden, downloads en zelfs de prullenbak op geplande tijdstippen. In sommige omgevingen werkt het mogelijk niet meteen perfect, waardoor een herstart of handmatige activering nodig kan zijn. Maar over het algemeen is het een prima geautomatiseerde manier om ruimteverslindende bestanden onder controle te krijgen.

Hoe leeg je de prullenbak voor gebruikers op een RDS-host?

De prullenbak in Windows is een stiekeme ruimtevreter, vooral omdat elke gebruiker een eigen map met SID-naam krijgt in $Recycle. Bin. Na verloop van tijd kunnen al deze prullenbakken samen een enorme hoeveelheid schijfruimte in beslag nemen. De standaard maximale grootte is ongeveer 5% van de schijf, wat in een drukke RDS-omgeving veel kan zijn. U kunt dit verkleinen met een groepsbeleid: ga naar Gebruikersconfiguratie > Administratieve sjablonen > Windows-onderdelen > Bestandsverkenner en stel de maximaal toegestane prullenbakgrootte in.0 betekent geen prullenbak (of dat deze is uitgeschakeld).Om de prullenbak leeg te maken, vooral op servers of via scripts, kunt u PowerShell gebruiken met de volgende Clear-RecycleBin -Forceopdracht. Houd er rekening mee dat als u deze opdracht als een normale gebruiker uitvoert, alleen de eigen prullenbak wordt leeggemaakt. Voor automatisering werkt het prima om deze opdracht in uw afmeldscripts op te nemen. Stel een PowerShell-script samen zoals:

Clear-RecycleBin -Force

Voeg dit toe aan het groepsbeleidsobject (GPO) onder Gebruikersconfiguratie > Beleid > Windows-instellingen > Scripts > Afmelden. Het is eenvoudig te activeren aan het einde van de sessie, zodat niemand met gigabytes aan verwijderde bestanden blijft zitten die de schijf volproppen.

Script om cache, tijdelijke bestanden, downloads en meer op te schonen – Waarom het de moeite waard is om te proberen

Hier is een handig PowerShell-script dat je een hoop kopzorgen kan besparen. Het verwijdert oude bestanden en leegt tijdelijke mappen in het gebruikersprofiel, en je kunt het ook uitbreiden naar andere locaties. Ik weet niet zeker waarom het op sommige systemen wel werkt en op andere niet, maar dat is een kwestie van testen. Wat het zo waardevol maakt, is dat het zich richt op specifieke mappen: Temp, Downloads, Cache, RDP-geschiedenis, Chrome-cache en zelfs de mappen voor Windows-foutrapportage.

Het controleert de map Downloads op bestanden die ouder zijn dan 14 dagen, leegt cachemappen en stopt zelfs Chrome-processen indien nodig. Hier is een korte samenvatting:

# Example of a cleanup script for user profiles $Logfile = "$env:USERPROFILE\cleanup_profile.log" $OldFilesDate = (Get-Date).AddDays(-14) # Define paths to clean $array $paths = @( 'AppData\Local\Temp', 'AppData\Local\Microsoft\Terminal Server Client\Cache', 'AppData\Local\Microsoft\Windows\WER', 'AppData\Local\Microsoft\Windows\AppCache', 'AppData\Local\CrashDumps' # Uncomment if Chrome cache clearing is needed: # 'AppData\Local\Google\Chrome\User Data\Default\Cache' ) $array $old_paths = @( 'Downloads' ) # Stop Chrome if running (optional) Get-Process -Name chrome -ErrorAction SilentlyContinue | Stop-Process # Clean cache folders foreach ($p in $paths) { $fullPath = Join-Path "$env:USERPROFILE" $p if (Test-Path $fullPath) { Remove-Item $fullPath -Recurse -Force -ErrorAction SilentlyContinue } } # Remove old files from Download stuff foreach ($oldPath in $old_paths) { $folderPath = Join-Path "$env:USERPROFILE" $oldPath if (Test-Path $folderPath) { Get-ChildItem $folderPath -Recurse | Where-Object { $_. LastWriteTime -lt $OldFilesDate } | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue } } Write-Output "Profile cleanup completed." | Out-File $Logfile -Append 

Je kunt dit patroon uitbreiden naar andere mappen die vol raken met ongewenste bestanden. Houd wel in de gaten wat er wordt verwijderd en test het eventueel -WhatIfeerst, zodat je niet per ongeluk iets belangrijks verwijdert. Wanneer dit script correct is geconfigureerd en als afmeldscript in je GPO is ingesteld, blijven gebruikersprofielen netjes tussen aanmeldingen, wat vooral handig is in gedeelde omgevingen.

Eerlijk gezegd is het een simpele maar effectieve aanpak; zorg er wel voor dat je het eerst test en waar nodig aanpast. Als je veel gebruikers hebt of speciale mappen, moet je het misschien iets uitbreiden.