So überprüfen Sie den Festplattenspeicher mit PowerShell
Manchmal ist es mühsam, den Speicherplatz im Blick zu behalten, besonders wenn man mehrere Systeme verwaltet oder einfach nur schnell prüfen möchte, wie viel Speicherplatz noch frei ist, ohne ständig den Datei-Explorer öffnen zu müssen. PowerShell ist dafür überraschend praktisch, und man muss kein Programmierprofi sein, um nützliche Informationen zu erhalten. Im Wesentlichen ermöglicht es, nicht nur die lokalen Laufwerke, sondern auch entfernte Rechner anzuzeigen, was besonders hilfreich ist, wenn man Server debuggt oder überwacht. Um aussagekräftige Daten zu erhalten, müssen die Befehle natürlich korrekt ausgeführt und gegebenenfalls einige Einstellungen angepasst werden, damit alles reibungslos funktioniert.
So prüfen Sie den Festplattenspeicher mit PowerShell – Die einfache Methode
Informationen zu all Ihren Laufwerken abrufen
Zunächst muss man verstehen, was Get-PSDrive bewirkt. Es listet alle von PowerShell erkannten Laufwerke auf, einschließlich Netzlaufwerke und Anbieter jenseits des Dateisystems. Um sich ausschließlich auf Speicherlaufwerke zu konzentrieren, müssen diese gefiltert werden. Normalerweise möchte man Laufwerke sehen, die Speicherplatz belegen, wie C:, D: oder Netzwerkfreigaben mit Speicherfunktion. Ein gängiger Befehl lautet:
Get-PSDrive | Where-Object { $_. Free -gt 0 }
Dadurch werden alle Laufwerke mit etwas freiem Speicherplatz abgerufen, wobei alle Laufwerke herausgefiltert werden, die null oder keinen freien Speicherplatz melden, wie beispielsweise System- oder Speziallaufwerke.
Um die Sache jedoch übersichtlicher zu gestalten, insbesondere wenn Sie lediglich lokale, dateisystembasierte Festplatten benötigen, sollten Sie Folgendes angeben:
Get-PSDrive -PSProvider FileSystem | Select-Object Name, Free, Used, Provider
Auf diese Weise werden nur lokale Datenträger angezeigt, was die Übersichtlichkeit verbessert und die Übersichtlichkeit erhöht, insbesondere wenn Sie den Speicher für Einsteiger überwachen oder schnelle Kontrollen durchführen.
Fernüberwachung von Systemen – warum nicht?
PowerShell kann auch die Verwaltung eines Servernetzwerks oder von Remote-PCs übernehmen. Sie benötigen lediglich die entsprechenden Berechtigungen und müssen die Remote-Verbindung aktivieren. Der Befehl lautet im Wesentlichen:
Invoke-Command -ComputerName <ComputerName> -ScriptBlock {Get-PSDrive -PSProvider FileSystem | Select-Object Name, Free, Used}
Ersetzen Sie <ComputerName> durch den Namen oder die IP-Adresse des Zielrechners. Wenn Sie beispielsweise einen Server namens „Server01“ überprüfen möchten, sieht das so aus:
Invoke-Command -ComputerName Server01 -ScriptBlock {Get-PSDrive -PSProvider FileSystem | Select-Object Name, Free, Used}
Dadurch wird der freie und belegte Speicherplatz auf jeder Dateisystempartition angezeigt. Die Schwierigkeit besteht darin, sicherzustellen, dass die Remote-Verbindung aktiviert ist und Ihr Benutzerkonto über die erforderlichen Berechtigungen verfügt. Auf stark abgesicherten Servern funktioniert die Remote-Verbindung manchmal nicht ohne Weiteres und muss über den Befehl `Enable-PSRemoting` auf dem Remote-System aktiviert werden – was wiederum zusätzliche Probleme mit sich bringt.
Bei einer Konfiguration funktionierte dieser Befehl sofort, bei einer anderen schlug er jedoch fehl, bis die korrekten Berechtigungen gesetzt oder die Remote-Verbindung aktiviert war. Ich bin mir nicht sicher, warum das unterschiedlich ist, aber es ist ein häufig auftretendes Problem.
Automatisieren und Benachrichtigungen erhalten – ein bisschen Skriptzauber
Für alle Technikbegeisterten lässt sich das Ganze in ein Skript einbinden, das regelmäßig (z. B.über die Aufgabenplanung) ausgeführt wird und automatisch den Speicherplatz überprüft und sogar E-Mail-Benachrichtigungen versendet, wenn der freie Speicherplatz beispielsweise unter 10 % fällt. Ideal für Administratoren, die eine ständige Überwachung ohne ständigen Aufwand wünschen.
Ein einfaches Skript könnte beispielsweise so aussehen:
if ((Get-PSDrive -PSProvider FileSystem | Where-Object { $_. Free -lt 10GB })) { Send-MailMessage -To "[email protected]" -From "[email protected]" -Subject "Low Disk Space Alert" -Body "One of your drives is running low on space." }
Diese Konfiguration erfordert etwas mehr Aufwand bei den SMTP-Einstellungen, aber das Prinzip ist einfach: Festplatten prüfen, und falls der Speicherplatz knapp wird, automatisch jemanden benachrichtigen.
Natürlich ist es unerlässlich, diese Skripte und Befehle in Ihrer eigenen Umgebung zu testen, da verschiedene Umgebungen unterschiedliche Eigenheiten aufweisen. Manchmal verweigert PowerShell die Verbindung ohne zusätzliche Berechtigungen oder Firewall-Regeln. Und bei einigen Windows-Versionen muss die Remote-Verbindung explizit aktiviert werden.
Windows macht es einem natürlich unnötig schwer. Aber einmal eingerichtet, ist es ziemlich leistungsstark für schnelle Überprüfungen oder die kontinuierliche Überwachung.
Zusammenfassung
- Verwenden Sie Get-PSDrive, um Laufwerke aufzulisten und den freien Speicherplatz zu überprüfen.
- Mit Where-Object filtern, um nur Laufwerke mit verfügbarem Speicherplatz anzuzeigen.
- Verwenden Sie Invoke-Command für Remote-Prüfungen und stellen Sie sicher, dass die Remote-Verbindung aktiviert ist und die Berechtigungen in Ordnung sind.
- Erstellen Sie Skripte zur Automatisierung von Benachrichtigungen oder regelmäßigen Überprüfungen – denn manuelle Überprüfungen werden schnell lästig.
Zusammenfassung
Alles in allem ist PowerShell ein überraschend praktisches Tool zur Überwachung des Festplattenspeichers, sowohl auf lokalen als auch auf entfernten Systemen. Es ist zwar nicht immer ganz intuitiv, aber mit ein paar Anpassungen lassen sich viele Probleme und unerwartete Abstürze vermeiden. Denken Sie nur daran, alles zuerst auf einem unkritischen Rechner zu testen. Hoffentlich hilft dies jemandem, seinen Speicherplatz im Griff zu behalten, ohne ständig den Explorer öffnen zu müssen.
Ähnliche Artikel
War dieser Artikel hilfreich?