Speicherplatzprobleme in einer Windows Server RDS-Farm können sehr lästig sein, insbesondere wenn sich Benutzerdaten auf dem Systemlaufwerk ansammeln. Mit der Zeit belegen Papierkorb, Download-Ordner, temporäre Dateien und Cache einen beträchtlichen Teil des Speicherplatzes, was zu Leistungseinbußen oder sogar Fehlern führen kann. Daher ist die Automatisierung des Bereinigungsprozesses äußerst hilfreich. PowerShell-Skripte und Gruppenrichtlinien zum Löschen alter Dateien, Leeren des Caches und Verwalten der Papierkorbgröße sind eine echte Erleichterung – vorausgesetzt, alles ist korrekt eingerichtet. Dieser Artikel zeigt Ihnen Schritt für Schritt, wie das geht, mit praktischen Befehlen, Pfaden und Tipps für den Einstieg. Erwarten Sie weniger Datenmüll, weniger Speicherplatz und möglicherweise sogar schnellere Sitzungen, sobald alles richtig eingerichtet ist.
So beheben Sie Speicherplatzprobleme auf RDS-Servern durch Bereinigen von Benutzerprofilen und Cache-Ordnern
Automatische Bereinigung von temporären Ordnern und Download-Ordnern mithilfe des Windows-Speicherplatzes
Windows verfügt über eine integrierte Speicheroptimierungsfunktion, die sich als äußerst praktisch erweist, um alte, temporäre und unnötige Dateien automatisch zu löschen. Diese Funktion ist in Windows Server 2019/2022 und Windows 10/11 verfügbar und lässt sich über Gruppenrichtlinien steuern. Durch Aktivieren dieser Funktion können Sie temporäre Dateien und Download-Ordner ohne manuelle Eingriffe verwalten. Gehen Sie einfach zu Einstellungen > Speicher > Speicheroptimierung, aktivieren Sie die Funktion und konfigurieren Sie den Bereinigungszeitplan. In Unternehmensumgebungen müssen Sie die entsprechenden Gruppenrichtlinienobjekteinstellungen (GPO) hinzufügen – diese finden Sie unter Computerkonfiguration > Richtlinien > Administrative Vorlagen > System > Speicheroptimierung. Die Funktion bereinigt regelmäßig temporäre Dateien, Downloads und sogar den Papierkorb. In manchen Fällen funktioniert die Bereinigung nicht sofort perfekt, sodass ein Neustart oder eine manuelle Auslösung erforderlich sein kann. Insgesamt ist die Speicheroptimierung jedoch ein guter erster Schritt, um Speicherplatzfresser zu reduzieren.
So leeren Sie den Papierkorb für Benutzer auf einem RDS-Host
Der Windows-Papierkorb ist ein heimtückischer Speicherplatzfresser, insbesondere da jeder Benutzer einen eigenen, nach seiner SID benannten Ordner innerhalb von `$Recycle. Bin` erhält. Mit der Zeit können all diese Papierkörbe zusammengenommen enorm viel Speicherplatz belegen. Die standardmäßige maximale Größe beträgt etwa 5 % der Festplatte, was in einer stark ausgelasteten RDS-Umgebung viel ausmachen kann. Sie können dies mit einer Gruppenrichtlinie reduzieren: Navigieren Sie zu Benutzerkonfiguration > Administrative Vorlagen > Windows-Komponenten > Datei-Explorer und legen Sie die maximal zulässige Größe des Papierkorbs fest. Der Wert 0 bedeutet, dass kein Papierkorb vorhanden ist (oder dieser deaktiviert ist).Um den Papierkorb zu leeren, insbesondere auf Servern oder per Skript, können Sie PowerShell mit dem Clear-RecycleBin -Forceentsprechenden Befehl ausführen. Beachten Sie jedoch, dass beim Ausführen als normaler Benutzer nur dessen eigener Papierkorb geleert wird. Für die Automatisierung eignet sich die Einbettung dieses Befehls in Ihre Abmeldeskripte hervorragend. Kompilieren Sie ein PowerShell-Skript wie folgt:
Clear-RecycleBin -Force
Fügen Sie es der Gruppenrichtlinie unter Benutzerkonfiguration > Richtlinien > Windows-Einstellungen > Skripts > Abmelden hinzu. So lässt es sich einfach beim Sitzungsende auslösen und verhindert, dass Gigabytes an gelöschten Dateien die Festplatte verstopfen.
Skript zum Bereinigen von Cache, temporären Dateien, Downloads und mehr – Warum es sich lohnt, es auszuprobieren
Hier ist ein praktisches PowerShell-Skript, das Ihnen viel Ärger ersparen kann. Es löscht alte Dateien und leert temporäre Ordner im Benutzerprofil. Sie können es auch auf andere Speicherorte ausweiten. Warum es auf manchen Systemen funktioniert und auf anderen nicht, ist unklar; das lässt sich aber durch Ausprobieren herausfinden. Besonders nützlich ist, dass es gezielt bestimmte Ordner löscht: Temp, Downloads, Cache, RDP-Verlauf, Chrome-Cache und sogar die Windows-Fehlerberichtsordner.
Es sucht im Download-Ordner nach Dateien, die älter als 14 Tage sind, leert Cache-Verzeichnisse und beendet bei Bedarf sogar Chrome-Prozesse. Hier eine kurze Zusammenfassung:
# 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
Sie können dieses Muster auf weitere Ordner ausweiten, die sich mit unnötigen Dateien füllen. Behalten Sie dabei im Auge, was gelöscht wird, und testen Sie es gegebenenfalls -WhatIfvorher, um versehentliches Löschen wichtiger Daten zu vermeiden. Bei korrekter Konfiguration sorgt dieses Skript als Abmeldeskript in Ihrer Gruppenrichtlinie dafür, dass die Benutzerprofile zwischen den Anmeldungen sauber bleiben – besonders praktisch in gemeinsam genutzten Umgebungen.
Ehrlich gesagt ist es ein einfacher, aber effektiver Ansatz. Testen Sie ihn aber unbedingt vorher und passen Sie ihn gegebenenfalls an. Bei einer großen Anzahl von Benutzern oder speziellen Ordnern müssen Sie ihn eventuell etwas erweitern.