Mit der PowerShell Laufwerke anzeigen und freien Speicherplatz auslesen.

Überblick

Mit der PowerShell Laufwerke anzeigen und freien Speicherplatz auslesen. Diese Anleitung zeigt dir dabei die Vorgehensweise. Wie viel Speicherplatz ist auf dem System noch vorhanden?

Eine Frage, mit der man es bei der Administration eigentlich täglich zu tun hat. Sei es, man hat z. B. ein NAS-System*, einen Webserver oder eine einfache Festplatte*.

Natürlich kann man sich mit dem Explorer den Speicherplatz für Laufwerke sehr einfach anzeigen lassen. Aber wie so oft bietet die neue Windows PowerShell viel mehr Möglichkeiten, wie die Ausgabe in einem Script weiterzuverarbeiten oder per Remote Zugriff zu arbeiten.

Den Speicherplatz auflisten

Informationen erhält man über die WMI (Windows Management Instrumentation). Bei WMI handelt es sich um eine grundlegende Windows-Verwaltungstechnologie, mit welcher lokale Computer sowie auch Remotecomputer verwaltet werden können.

Mit WMI werden Statusinformationen ausgegeben, die sich eignen, um verschiedene administrative Aufgaben zu tätigen. WMI sind im Prinzip Objekte, die aus bestimmten Klassen zusammengesetzt werden.

Mit der PowerShell Laufwerke anzeigen

Die Windows PowerShell beinhaltet das Cmdlet Get-WMIObject, womit man sämtliche Klassen aufrufen kann. Zum Auslesen des freien Speicherplatzes gibt es die drei in der Tabelle vorgestellten Klassen.

WMIObject KlassenBeschreibung
Win32_VolumeListet alle Volumes auf, auch wenn diese keinen Laufwerkbuchstaben besitzen
Win32_LogicalDiskHiermit werden alle Laufwerke inklusive Netzlaufwerk angezeigt.
Win32_ShareDiese Klasse zeigt dagegen nur die Freigaben an.

Weil die Windows PowerShell eine einheitliche Syntax hat, ist diese für alle Klassen gleich. Nachfolgend möchte ich  euch anhand von Win32_LogicalDisk einige Anwendungen aufzeigen.

Ausgabe des belegten Speicherplatzes

Ein einfacher Aufruf der Klasse Win32_LogicalDisk über das Cmdlet Get-WmiObject liefert die folgende Ausgabe. Leicht zu erkennen ist, dass der freie Speicherplatz in einer sehr langen Zahlenreihe dargestellt wird.

Get-WmiObject Win32_LogicalDisk
Mit der PowerShell Laufwerke anzeigen und freien Speicherplatz auslesen.
Mit der PowerShell Laufwerke anzeigen und freien Speicherplatz auslesen.

Über die Verwendung der PowerShell Pipe, kann man direkt den Speicherverbrauch ausgeben.

Get-WMIObject Win32_LogicalDisk | select name, freespace
Speicherplatzverbrauch mit der Windows PowerShell auflisten
Mit der PowerShell Laufwerke anzeigen und freien Speicherplatz auslesen.

Ersichtlich ist hier, dass der Speicherplatz aller eingebundenen Volumes aufgelistet wird. Sofern man nur ein bestimmtes Laufwerk möchte, dann muss man die Ausgabe filtern.

Get-WMIObject Win32_LogicalDisk -filter "name='c:'" | select name, freespace

Übrigens kann man den Speicherplatz auch von einem entfernten PC (also Remote) auslesen. Hierfür muss man nur den Computernamen anhängen und das Ergebnis über die Pipe auswerten.

Get-WMIObject Win32_LogicalDisk -Computer PC12 | % {$_.name, $_.freespace }

Belegten Speicherplatz in GB anzeigen

Wie die obigen Ausgaben zeigen, wird das Ergebnis immer in Bytes ausgegeben. Damit fällt es einem schwer, den verbrauchten Speicherplatz schnell zu erkennen. Sinnvoller ist es, wenn man das Ergebnis einfach in Gigabyte umrechnet. Mit der Windows PowerShell geht das relativ einfach. Man muss prinzipiell nur durch 1 GB teilen.

Get-WMIObject Win32_LogicalDisk | % {$_.name, ($_.freespace / 1GB) }

Das Ergebnis sieht nun schon eindeutiger aus.

Speicherplatzverbrauch mit der Windows PowerShell auflisten: Umrechnung auf GB
Speicherplatzverbrauch mit der Windows PowerShell auflisten: Umrechnung auf GB

Die verschiedenen Speicheroptionen im Vergleich

Fazit

Auch zum Auslesen des verbrauchten Speicherplatzes bietet die Windows PowerShell eine schöne Möglichkeit. Kern des Ganzen sind hier die WMI Objekte.

Mit diesen lassen sich sehr viele Informationen aus dem System holen und natürlich auch weiterverarbeiten. Anhand des Beispiels kann man sehr einfach die Funktionsweise und Anwendung der WMI-Objekte verstehen.

Interessantes

Keine Produkte gefunden.

Der Blogbetreiber und Autor: Markus Elsberger

Über den Autor

Mein Name ist Markus Elsberger und ich beschäftige mich mit der Administration von Windows und Linux-Systemen sowie mit diversen Themen bzgl. Netzwerktechnik. In meiner Lehrtätigkeit erstelle ich verschiedene Szenarien und teste auch verschiedene Konfigurationen, welche ich in diesem Blog festhalten möchte. -> Gern kannst du mich mit einem Kaffee unterstützen!


Kostenlose Befehlsreferenzen und E-Books
(Netzwerkanalyse, Benutzerverwaltung, Festplattenkonfiguration, u. v. m.)


4 Gedanken zu „Mit der PowerShell Laufwerke anzeigen und freien Speicherplatz auslesen.“

  1. Ein paar meiner Server haben mehr als 1000 gb (> 1TB), und ab der größe zeigt mir Powershell das so an: 1,400 also mit einem „,“ wenn ich den wert in eine Tabelle speicher und damit weiter rechne bekomme ich falsche informationen. Kann ich das so formatieren das 1.400 steht statt 1,400 ?

    Hier mein Code:

    $GesamtSpeicher = „{0:N2}“ -f ((gwmi win32_logicaldisk -Computername $hostname -Filter „DeviceID=’$DeviceID'“).size/1GB)

    1. Hallo Fabian,
      also wenn es um die reine Änderung von „,“ auf „.“ geht, so könnte man das mit einem -replace („,“,“.“) bewerkstelligen. Z.B. so: Get-WmiObject Win32_LogicalDisk | % {$_.name, ($_.size / 1TB) -replace (",",".")} .
      Umrechnung Speichergröße

  2. Sebastian Brandt

    Ich habe auf meinem Laufwerk C: einige Festplatten als Ordner eingebunden, wie frage ich hier den freien Speicher ab.
    Was mich auch interessieren würde wie fragen Installationsroutinen so etwas ab. Einige haben mit solchen über Ordner eingebundene Medien Probleme den freien Speicher auszulesen, und nehmen das Laufwerk auf dem der Ordner eingebunden ist als Anhaltspunk.
    MfG Sebastian

    1. Markus Elsberger

      Hallo Sebastian, wenn ich dich recht verstehe, meist du das auflisten des freien bzw. verbrauchten Speicherplatzes eines Netzlaufwerks? Hierfür kannst du einfach Get-PSDrive -Name [Laufwerksbuchstabe] verwenden.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kostenlose E-Books für die IT-Administration

Steigere deine IT-Kompetenzen

Ebook - 10 Schritte nach der Windows Installation
Close the CTA

Windows 11, Windows Server, Docker, PowerShell Referenzen, Batch, Linux Terminal, 

u.v.m.