Mittels CrystalDiskInfo kann man schnell den Status einer Festplatte oder SSD überprüfen. Möchte man dies z.B. automatisiert via Skript oder aus der Ferne via PsExec tun, geht das ebenfalls.
Schlicht an die jeweilige Exe-Datei die Option “/CopyExit” anhängen. Beispiele:
DiskInfo32.exe /CopyExit DiskInfo64.exe /CopyExit
Das Resultat wird in der Datei “DiskInfo.txt” im Ordner von CrystalDiskInfo gespeichert. Nachfolgend ein Auszug aus einer dieser Dateien:
----------------------------------------------------------------------------
CrystalDiskInfo 7.7.0 (C) 2008-2018 hiyohiyo
Crystal Dew World : https://crystalmark.info/
----------------------------------------------------------------------------
OS : Windows 7 Professional SP1 [6.1 Build 7601] (x64)
Date : 2018/09/18 13:39:54
-- Controller Map ----------------------------------------------------------
+ Intel(R) 8 Series/C220 Chipset Family SATA AHCI Controller [ATA]
- INTE SSDSC2BW120H6 SCSI Disk Device
-- Disk List ---------------------------------------------------------------
(1) INTEL SSDSC2BW120H6 : 120,0 GB [0/0/0, pd1] - il
----------------------------------------------------------------------------
(1) INTEL SSDSC2BW120H6
----------------------------------------------------------------------------
Model : INTEL SSDSC2BW120H6
Firmware : RG21
Serial Number : xxxxxxxxxxxxxxxx
Disk Size : 120,0 GB (8,4/120,0/120,0/120,0)
Buffer Size : Unbekannt
Queue Depth : 32
# of Sectors : 234441648
Rotation Rate : ---- (SSD)
Interface : Serial ATA
Major Version : ACS-3
Minor Version : ----
Transfer Mode : SATA/600 | SATA/600
Power On Hours : 1854 Std.
Power On Count : 244 mal
Host Reads : 2867 GB
Host Writes : 1792 GB
NAND Writes : 41066 GB
Temperature : 34 C (93 F)
Health Status : Gut (85 %)
Features : S.M.A.R.T., APM, 48bit LBA, NCQ, TRIM, DevSleep
APM Level : 00FEh [ON]
AAM Level : ----
Drive Letter : C:
-- S.M.A.R.T. --------------------------------------------------------------
ID Cur Wor Thr RawValues(6) Attribute Name
05 100 100 __0 000000000000 Anz. wiederzugewiesener Sektoren
09 100 100 __0 00000000073E Betriebsstunden
0C 100 100 __0 0000000000F4 Anz. Geräte-Einschaltvorgänge
AA _85 100 _10 000000000000 Verfügbarer Reservespeicher
AB 100 100 __0 000000000000 Programmfehler
AC 100 100 __0 000000000000 Löschfehler
AE 100 100 __0 000000000005 Anz. unerwarteter Spannungsabfälle
B7 100 100 __0 000000000000 SATA Downshift Count
B8 100 100 _90 000000000000 Ende-zu-Ende-Fehlererkennungszählerstand
BB 100 100 __0 000000000000 Nicht korrigierbare Fehler
BE _34 100 __0 0012003C0022 Temperatur
C0 100 100 __0 000000000005 Unsachgemäße Ausschaltung
C7 100 100 __0 000000000000 CRC-Fehler, Anzahl
E1 100 100 __0 00000000E003 Host-Schreibvorgänge
E2 100 100 __0 00000000FFFF Indikator der Mediumabnutzung unter Arbeitslast
E3 100 100 __0 00000000003D Prozentsatz der Host-Lese-/Schreibvorgänge unter Arbeitslast
E4 100 100 __0 00000000FFFF Arbeitslastmessung
E8 _85 100 _10 000000000000 Verfügbarer Reservespeicher
E9 _79 100 __0 000000000000 Medienabnutzungsanzeiger
F1 100 100 __0 00000000E003 LBA geschrieben (gesamt)
F2 100 100 __0 00000001666B LBA gelesen (gesamt)
F9 100 100 __0 00000000A06A NAND geschrieben (gesamt)
Am interessantesten dürfte wohl “Health Status” sein.
Quelle:
Crystal Dew World – CrystalDiskInfo – Advanced Features
Update 19.03.2021
Ich konnte leider nicht klären, ob CrystalDiskInfo einen Rückgabewert (Returncode, Errorlevel) ausgibt, bislang ist dieser immer “0”. Ein defektes Laufwerk zum Testen habe ich im Moment nicht. Auf jeden Fall kann man den Bericht “DiskInfo.txt” nach dem “Health Status” oder konkreten Warnungen sowie Fehlern durchsuchen.
Als ganz simple Variante kann z.B. dies herhalten:
find /i "Health Status" < DiskInfo.txt
Als Ausgabe bekommt man dann sowas:
Health Status : Gut (100 %) Health Status : Gut
In diesem Beispiel sind zwei Laufwerke mit dem Computer verbunden, einmal die interne SSD (“Health Status : Gut (100 %)”) und einmal eine USB-Festplatte (“Health Status : Gut”).
In der jeweiligen Sprachdatei unter “..\CdiResource\language” kann man die verfügbaren Stati rauslesen:
[DiskStatus] GOOD=Gut CAUTION=Vorsicht BAD=Schlecht UNKNOWN=Unbekannt DISK=Festplatte
Bei meinen Tests wurde immer die “German2.lang” verwendet.
Nun könnte man das Ganze so zurechtstricken, das wenn kein “Gut” gefunden wird oder wenn konkret “Vorsicht” oder “Fehler” gefunden werden ein Alarm ausgelöst wird. Am Beispiel vom “find”-Befehl sähe dies so aus:
find /i "Health Status : Vorsicht" < DiskInfo.txt if %errorlevel%==0 set Error=True find /i "Health Status : Schlecht" < DiskInfo.txt if %errorlevel%==0 set Error=True
Der Rückgabewert “0” bedeutet bei “find” immer “gefunden”, größer als “0” bedeutet “nicht gefunden”.

Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 15 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
XING











Schreibe einen Kommentar