Prüfen ob SSD oder HDD verbaut mit PowerShell
In der heutigen Zeit werden meist nur noch SSD (Solid State Drive) in Computern verbaut. Diese haben den großen Vorteil, dass diese sehr schnell sind. Das macht sich vor allem beim Starten von Windows, beziehungsweise generell beim Datei-Zugriff bemerkbar. Der Nachteil im Gegensatz zu normalen HDD (Hard Disk Drive) ist jedoch, dass sie relativ teuer sind. Privatpersonen wissen in der regel ob eine SSD oder HDD verbaut ist. Aber in großen Netzwerken und Unternehmen sind oft hunderte oder tausende Computer im Einsatz. Deshalb wäre es schön zu prüfen ob SSD oder HDD im Computer verbaut ist, beziehungsweise welcher Festplatten-Typ eingebaut ist. Abhilfe schafft hier ein PowerShell Befehl, welcher den Typ der Festplatte auslesen kann.
Ist eine SSD oder HDD verbaut? Warum möchte man das überprüfen?
Es macht einen wesentlichen Unterschied ob eine HDD oder eine SDD im Computer verbaut ist. Viele Unternehmen möchten die Computer mit einer HDD durch Computer mit einer SSD austauschen. Da aber oft hunderte Computer im Einsatz sind, wäre es praktisch auslesen zu können, ob eine SSD oder HDD verbaut ist. Klar könnte man das über die Computer-Informationen auslesen. Aber in großen Netzwerken muss man dies automatisch auslesen, da man nicht händisch zu jedem Client gehen kann.
Prüfen ob SSD oder HDD mit PowerShell
PowerShell hilft uns wie immer weiter. Mit Microsoft PowerShell, welches in Windows integriert ist, haben wir die Möglichkeit den Festplatten-Typ auslesen zu können. Dafür gibt es sogar verschiedene Befehle die angewendet werden können.
Get-Disk
Mit Get-Disk
können wir die Anzahl der Partitionen, die ID, das Modell und die Größe der SSD auslesen. In den meisten Fällen ist im Modell-Namen der String “SSD” vorhanden. Aber nicht bei allen Festplatten, deswegen mit Vorsicht zu genießen, da dieser Befehl nicht immer funktioniert.
get-disk | ? model -match 'SSD'
Get-WmiObject win32_diskdrive
Mit Get-WmiObject win32_diskdrive
können wir wie oben die gleichen Informationen auslesen. Auch hier filtern wir nach dem “SSD” im Namen. Wenn allerdings der Name den String nicht enthält, aber trotzdem eine Solid State Drive ist, so werden wir kein Ergebnis bekommen.
Get-WmiObject win32_diskdrive | where { $_.model -match 'SSD'}
Get-PhysicalDisk
Am Empfehlenswertesten ist der Befehl Get-PhysicalDisk
, da dieser alle Informationen zur Festplatte liefert. Hier bekommen wir alle technischen Daten zu den verbauten Festplatten geliefert, egal ob HDD oder SSD.
Get-PhysicalDisk | Select *
Hier bekommt man in dem Punkt “MediaType” geliefert, ob es sich um eine SSD oder um eine HDD handelt. Da diese Informationen oben natürlich zu unübersichtlich sind, kann man diese filtern und den PowerShell Befehl erweitern, sodass man nur die SSD-Platten ausgegeben bekommt.
Get-PhysicalDisk | Select FriendlyName, MediaType
Get-WmiObject -Class MSFT_PhysicalDisk
Mit dem Befehl Get-WmiObject -Class MSFT_PhysicalDisk
bekommen wir auch sehr viele Informationen zu den Festplatten. Auch hier liefert uns der MediaType die gewünschte Info. Mit folgendem PowerShell Befehl bekommen wir das gewünschte Ergebnis:
Get-WmiObject -Class MSFT_PhysicalDisk -Namespace root\Microsoft\Windows\Storage | Select FriendlyName, MediaType
Hier bekommen wir als MediaType nur eine Zahl ausgegeben. Aber das ist ganz einfach erklärt und übersetzt:
- 3 = HDD
- 4 = SSD
SSD Erkennung per Tool
Wer sich mit PowerShell nicht gut auskennt, der kann auch Tools nutzen. Eines der einfachsten ist das Tool “IsSSD.exe” welches hier heruntergeladen werden kann:
IsSSD.exe downloadDas Tool erkennt welcher Festplatten-Typ verbaut ist und liefert folgende Werte zurück:
- 1 = SSD
- 0 = HDD
Beim Aufruf des Tools muss der Laufwerksbuchstabe mitgegeben werden, welcher überprüft werden soll. Ein Script Beispiel wäre folgendes:
IsSSD.exe C: IF "%ERRORLEVEL%" == "1" goto SSD IF "%ERRORLEVEL%" == "0" goto HDD :SSD SSD-Platte verbaut :HDD HDD-Platte verbaut
Ich hoffe wir konnten euch die Code-Schnippsel für die Fesplatten Erkennung gut und einfach erklären. 🙂