2

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.

Bru-nO / Pixabay

 

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-disk powershell

 

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-WmiObject win32_diskdrive powershell

 

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 *

SSD oder HDD Get-PhysicalDisk PowerShell

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-physicaldisk mediatype powershell

 

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

ssd oder hdd Get-WmiObject MSFT_PhysicalDisk powershell

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 download

Das 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. 🙂

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

Click Here to Leave a Comment Below 2 comments