Use Endpoint Analytics to clean up the disk

Endpoint Analytics, um den Datenträger aufzuräumen

Ich habe bereits mehrere Blogposts über Endpoint Analytics geschrieben. In der Microsoft Tech Community kam die Frage auf, wie man den Datenträger mit Intune aufräumen kann. Das ist eine Frage, die sich nur schwer generisch beantworten lässt, da sie immer sehr spezifisch ist. Da immer mehr Anwendungen und Daten in die Cloud wandern und Speicher immer günstiger wird, ist der Speicherbedarf auf Arbeitsplatzgeräten und das Problem mit vollen Festplatten nicht mehr so präsent wie früher.

In diesem Blog zeige ich dir, wie du auf deinen Clients mit hoher Datenträgerauslastung Speicherplatz freigeben kannst. Also lass uns loslegen.

Endpoint Analytics nutzen, um den Datenträger aufzuräumen

Wie man Speicher aufräumt

Wie oben erwähnt, ist es schwierig, hier eine generische Antwort zu geben. Es hängt immer davon ab, warum der Datenträger voll ist: Sind große Anwendungen auf dem Computer installiert, gibt es viel Caching auf dem Computer oder hat der Benutzer einfach viele Dateien? Wir wollen nichts löschen, was der Benutzer benötigt. Natürlich gibt es die Möglichkeit, einige temporäre Daten zu löschen, aber selbst diese haben oft ihren Zweck. Du kannst z. B. den Delivery-Optimization-Cache leeren, aber wenn du das auf allen Clients tust, wird die Delivery Optimization natürlich nicht mehr so effizient sein. Es gibt mehrere Artikel, die Tipps geben, was du tun kannst, um Speicherplatz auf einem System freizugeben.

Update 18.07.2022: Mit Storage Sense bietet Microsoft ebenfalls eine Möglichkeit, den Datenträger aufzuräumen. Dies ist ein integrierter Mechanismus, der in Windows eingebaut ist. Er verschiebt zum Beispiel ungenutzte Daten als Online-Daten in OneDrive oder löscht temporäre Dateien. Storage Sense lässt sich auch über Intune konfigurieren.

Storage Sense ist also eine sehr gute Möglichkeit, den Datenträger zeitgesteuert oder bei wenig freiem Speicherplatz aufzuräumen.

Aber Storage Sense hat einen Nachteil: Du kannst nicht granular konfigurieren, was gelöscht werden soll, hast also hier weniger individuelle Konfigurationsmöglichkeiten und kein zentrales Monitoring. Diese Methode erlaubt es dir auch nicht, benutzerdefinierte Dateien von z. B. Anwendungen zu löschen. Schauen wir uns also an, was Windows sonst noch zu bieten hat.

Es gibt außerdem ein altes, aber gutes Tool, das in Windows integriert ist, um den Datenträger aufzuräumen. Die CleanMgr.exe bzw. die Datenträgerbereinigung ist eine Möglichkeit, die es schon lange in Windows gibt, um den Datenträger aufzuräumen. Ich habe das Remediation-Skript auf Basis dieses Tools erstellt.

Endpoint Analytics nutzen, um den Datenträger aufzuräumen

Wie das Skript funktioniert

Zuerst habe ich ein sehr einfaches Detection-Skript, das lediglich prüft, ob noch 15 GB oder weniger frei sind. Ist dies der Fall, ist die Detection erfüllt, andernfalls nicht. Nur wenn die Detection erfüllt ist, wird die Remediation ausgeführt.

<#
Version: 1.0
Author: Jannik Reinhard (jannikreinhard.com)
Script: Get-CleanUpDiskDetection
Description:
Cleanup disk when utilization <15GB
Release notes:
Version 1.0: Init
#>
$storageThreshold = 15

$utilization = (Get-PSDrive | Where {$_.name -eq "C"}).free

if(($storageThreshold *1GB) -lt $utilization){exit 0}
else{exit 1}

Das war die einfache Aufgabe. Jetzt müssen wir reagieren, wenn der freie Speicher weniger als 15 GB beträgt, damit wir den Datenträger aufräumen. Dazu benötigen wir ein Remediation-Skript. In dem Skript musst du zunächst angeben, was du auf den Systemen löschen möchtest. Dies sind die möglichen Auswahlmöglichkeiten:

  • ‘Active Setup Temp Folders’
  • ‘BranchCache’
  • ‘Content Indexer Cleaner’
  • ‘Device Driver Packages’
  • ‘Downloaded Program Files’
  • ‘GameNewsFiles’
  • ‘GameStatisticsFiles’
  • ‘GameUpdateFiles’
  • ‘Internet Cache Files’
  • ‘Memory Dump Files’
  • ‘Offline Pages Files’
  • ‘Old ChkDsk Files’
  • ‘Previous Installations’
  • ‘Recycle Bin’
  • ‘Service Pack Cleanup’
  • ‘Setup Log Files’
  • ‘System error memory dump files’
  • ‘System error minidump files’
  • ‘Temporary Files’
  • ‘Temporary Setup Files’
  • ‘Temporary Sync Files’
  • ‘Thumbnail Cache’
  • ‘Update Cleanup’
  • ‘Upgrade Discarded Files’
  • ‘User file versions’
  • ‘Windows Defender’
  • ‘Windows Error Reporting Archive Files’
  • ‘Windows Error Reporting Queue Files’
  • ‘Windows Error Reporting System Archive Files’
  • ‘Windows Error Reporting System Queue Files’
  • ‘Windows ESD installation files’
  • ‘Windows Upgrade Log Files’

Wähle aus dieser Liste aus, was du aufräumen möchtest, und trage dies in die Variable $cleanupTypeSelection ein. Das Skript, mit dem du den Datenträger über die CleanMgr.exe aufräumst, findest du hier oder in meinem GitHub-Repository

Du kannst das Skript auch anpassen, um benutzerdefinierte Dateien oder Ordner von z. B. bestimmten Anwendungen zu löschen. Rudy Ooms hat ein schönes PowerShell-Skript geteilt, um einige weitere lokale Dateien zu löschen.

<#
Version: 1.0
Author: Jannik Reinhard (jannikreinhard.com)
Script: Get-CleanUpDiskRemediation
Description:
Cleanup disk when utilization <15GB
Release notes:
Version 1.0: Init
#>

$cleanupTypeSelection = 'Temporary Sync Files', 'Downloaded Program Files', 'Memory Dump Files', 'Recycle Bin'

foreach ($keyName in $cleanupTypeSelection) {
    $newItemParams = @{
        Path         = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\$keyName"
        Name         = 'StateFlags0001'
        Value        = 1
        PropertyType = 'DWord'
        ErrorAction  = 'SilentlyContinue'
    }
    New-ItemProperty @newItemParams | Out-Null
}

Start-Process -FilePath CleanMgr.exe -ArgumentList '/sagerun:1' -NoNewWindow -Wait

Remediation-Skript erstellen

  • Gib einen Namen ein und klicke auf Next
  • Lade das Detection– und das Remediation-Skript hoch
  • Klicke auf Next > Next
  • Weise das Skript einer Gruppe zu
  • Erstelle einen Zeitplan. In meinem Fall wähle ich daily.
  • Klicke auf Next > Create

Fazit

In diesem Blog habe ich beschrieben, wie du Endpoint Analytics nutzen kannst, um nahezu volle Datenträger aufzuräumen. Du kannst das Skript so konfigurieren, wie du es brauchst. Du kannst zusätzlich zur CleanMgr.exe natürlich auch weitere Aufräumaktivitäten hinzufügen und benutzerdefinierte Dateien löschen. Du kannst außerdem ein Monitoring auf Basis des Status des Skripts (Recurred) aufbauen und Geräte identifizieren, bei denen das Aufräumskript nicht geholfen hat, um sie bei Bedarf zu ersetzen, ihnen mehr Speicher bereitzustellen oder einige ungenutzte Anwendungen zu löschen.

Endpoint Analytics nutzen, um den Datenträger aufzuräumen

Es ist jedoch wichtig zu erwähnen, dass Storage Sense die neue Methode ist, die Microsoft anbietet und weiterentwickeln wird. Die Datenträgerbereinigung ist nach wie vor Teil von Windows, wird aber nicht mit neuen Funktionen aktualisiert.

Ich hoffe, ich konnte dir mit meinem Blog helfen, sodass du in deiner Umgebung direkt reagieren kannst, wenn der Speicher voll ist.

Bleib gesund, Cheers
Jannik

2 thoughts on “Endpoint Analytics, um den Datenträger aufzuräumen

Comments are closed.