Ich habe versucht, Festplatteninformationen von Remotecomputern abzurufen, einschließlich der Frage, ob SMART auf dem Laufwerk mithilfe der Klasse win32_diskdrive aktiviert ist oder nicht.
Das ist schwieriger als ich dachte. Während es einfach genug ist, die Statuseigenschaft zu lesen, habe ich in der Capabilities-Eigenschaft etwas Interessantes entdeckt - nämlich den Wert, der angibt, ob "SMART Notification" verfügbar ist. Dieser Wert wird nur angezeigt, wenn der Befehl in einem erhöhten Sicherheitskontext ausgeführt wird. Wenn ich zum Beispiel (gwmi win32_diskdrive) .Capabilities ausführe, wird der SMART-Wert (10) noch nicht im Wertearray angezeigt, wenn ich ihn in einer Eingabeaufforderung mit erhöhten Rechten ausführe. Soweit ich weiß, können Sie eine WinRM-Sitzung nicht in einem erhöhten Kontext ausführen (und ich bin nicht an kitschigen Schtasks-Hacks oder Psexec interessiert).
Also habe ich versucht, win32_diskdrive der MSStorageDriver_FailurePredictStatus-Klasse zuzuordnen. Ich denke, ich müsste dies trotzdem tun, denn selbst wenn SMART in der Capabilities-Eigenschaft angezeigt wird, bedeutet dies nicht unbedingt, dass es aktiviert ist, oder?
Ich habe die PNPDeviceID-Eigenschaft von win32_diskdrive der InstanceName-Eigenschaft von MSStorageDriver_FailurePredictStatus zugeordnet, aber jetzt besteht mein Problem darin, dass ich nicht denke, dass die InstanceName-Eigenschaft eindeutig genug ist, damit dies funktioniert. Zum Beispiel ist hier mein Instanzname:IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0_0
Es zeigt den Schnittstellentyp (IDE), die Modellnummer (ST3250312AS), die Firmware-Version (JC47), was ich für eine eindeutige Kennung hielt ( 5&350bf0c3&0&0.0.0
) und dann wie eine Indexnummer (_0). Wenn ich google 5&350bf0c3&0&0.0.0
, werden einige Informationen auf dem Laufwerk angezeigt, sodass ich nicht glaube, dass diese Nummer eindeutig ist. Dies bedeutet, dass die Eindeutigkeit in der Indexnummer enthalten ist, die nicht in der PNPDeviceID-Eigenschaft der Klasse win32_diskdrive enthalten ist. Dies ist ein Problem, da viele unserer Server über mehrere identische Festplatten verfügen.
Mein Anliegen ist, dass MSStorageDriver_FailurePredictStatus
mehrere Festplatten wie diese dargestellt werden:
IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0_0
IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0_1
IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0_2
Und die PNPDeviceID-Eigenschaft von win32_diskdrive von allen wäre einfach
IDE\DiskST3250312AS_____________________________JC47____\5&350bf0c3&0&0.0.0
Wie kann ich Objekte, die von win32_diskdrive abgerufen wurden, zuverlässig auf MSStorageDriver_FailurePredictStatus
Powershell über Remote-Sitzungen zuordnen oder auf andere Weise ausführen?
Bearbeiten :
Nun, es sieht so aus, als hätte ich überreagiert. Als ich eine Reihe von Servern überprüfte, fand ich InstanceNames \ PNPDeviceIDs wie folgt:
SCSI\Disk&Ven_TOSHIBA&Prod_MBF2600RC\5&354ecb35&0&000200_0
SCSI\Disk&Ven_TOSHIBA&Prod_MBF2600RC\5&354ecb35&0&000300_0
Wenn dies an einem Tag oder so niemand endgültig bestätigen kann, gehe ich einfach davon aus, dass dieser Wert tatsächlich eindeutig ist, und markiere dies als "Antwort".