Je cherche un moyen, éventuellement, de PowerShell pour obtenir les données SMART d'un disque dur sur un appareil donné.
J'ai essayé les commandes WMI à la fois via CMD et PowerShell que j'ai vues, mais je n'ai pas pu obtenir les données appropriées que je recherchais.
Get-WmiObject -list
J'espérais trouver quelque chose pour l'espace SMART ou REalloué dans cette liste, mais rien n'y est trouvé. Tout le monde connaît un moyen d'extraire les données intelligentes du lecteur sans utiliser une application tierce. Je souhaite automatiser un processus d'identification des disques défaillants, mais je souhaite que des informations spécifiques soient transmises, pas seulement oui ou non, il est possible que cela échoue.
4 Réponses :
J'ai trouvé ceci sur Google: https://blogs.msdn.microsoft.com/san/2011/08/11/have-you-ever- voulait-savoir-si-votre-disque-va-échouer-avant-qu'il-fasse /
Get-WmiObject ` -namespace root\wmi ` âclass MSStorageDriver_FailurePredictStatus ` -ErrorAction Silentlycontinue ` | Select InstanceName, PredictFailure, Reason ` | Format-Table âAutosize
C'est la seule solution que j'ai vue jusqu'à présent qui montre une sortie raisonnable lors de l'utilisation d'espaces de stockage
Je pense que c'est ce dont vous avez besoin:
Get-Disk | foreach { $_ | Get-StorageReliabilityCounter | Format-List }
Cela devrait vous donner les statistiques ReadErrorsCorrected
et WriteErrorsCorrected
pour tous les connectés des disques.
Je ne trouve pas la documentation Microsoft pertinente pour m'assurer que je suis à 100% correct ici, mais sur la base de cette documentation, je suppose que le nombre de secteurs réalloués est le total des lectures corrigées / écrire les secteurs: https://kb.acronis.com/content/9105
p >
Get-WmiObject -query "Select * from Win32_diskdrive" | select ReallocatedSectorCount
Dans votre question, vous avez demandé à la fois le S.M.A.R.T. des informations ainsi que des informations spécifiques aux secteurs réalloués. Je vais m'adresser à S.M.A.R.T. interaction via PowerShell d'abord, puis donnez un exemple de code pour renvoyer la propriété relative aux secteurs réalloués (également appelée propriété ReadErrorsCorrected
). Cela devrait vous permettre de cibler l'attribut spécifié et d'autres S.M.A.R.T. attributs là où c'est nécessaire.
--- Préface: ---
Malheureusement, il ne semble pas y avoir de moyen d'obtenir tous S.M.A.R.T. informations disponibles à partir de divers périphériques de stockage via PowerShell uniquement, car il s'agit d'une implémentation plutôt générique de la fonctionnalité, et S.M.A.R.T. est variée dans sa mise en œuvre parmi les fournisseurs de périphériques de stockage.
Cela dit, la méthode décrite ci-dessous devrait satisfaire les exigences clés du S.M.A.R.T. vérifications effectuées par les utilisateurs, y compris la durée de vie prévue, les secteurs réalloués et non corrigibles, etc., en utilisant une terminologie PowerShell plutôt générique (par exemple, lifespan = "Wear").
--- Information: strong > ---
Avec une combinaison de deux applets de commande PowerShell, nous pouvons facilement afficher certains des SMART données offertes par les périphériques de stockage:
Get -StorageReliabilityCounter
"La cmdlet Get-StorageReliabilityCounter obtient la fiabilité du stockage compteurs pour le disque ou le disque physique spécifié. Ces compteurs inclure des informations sur des éléments tels que la température de l'appareil, erreurs, usure et durée d'utilisation de l'appareil. "
Il s'agit de l'applet de commande qui renverra en fait le S.M.A.R.T. les données que nous recherchons. Cependant, contrairement à de nombreuses autres applets de commande que vous connaissez peut-être, cette applet de commande doit être pointée vers le (s) disque (s) cible (s) au moyen d'un ou plusieurs objets PowerShell. (Si vous êtes nouveau dans PowerShell, ce n'est pas aussi complexe que cela puisse paraître, alors n'ayez pas peur.)
"La cmdlet Get-Disk obtient un ou plusieurs objets Disk visibles par le système d'exploitation, ou éventuellement une liste filtrée. "
C'est l'applet de commande que nous utiliserons pour fournir le ou les objets PowerShell requis, afin que Get-StorageReliabilityCounter sache quel (s) disque (s) interroger.
--- Code: ---
Comme pour tout, il y a plusieurs façons d'exécuter le code, donc je vais juste fournir du code pour obtenir les informations souhaitées de la manière la plus simple possible, à mon avis.
Pour un simple S.M.A.R.T. informations sur tous les disques locaux (exécutés en tant qu'administrateur):
Get-Disk | Get-StorageReliabilityCounter | Select-Object -Property "*"
Exemple de sortie:
Get-Disk | Get-StorageReliabilityCounter
Pour SMART étendu informations sur tous les disques locaux (exécutés en tant qu'administrateur):
PS C:\WINDOWS\system32> Get-Disk | Get-StorageReliabilityCounter | Select-Object -ExpandProperty "ReadErrorsCorrected" 0
Exemple de sortie tronquée:
Get-Disk | Get-StorageReliabilityCounter | Select-Object -ExpandProperty "ReadErrorsCorrected"
As vous pouvez voir, énumérés sont quelques-uns de ces indicateurs souhaitables qui peuvent ou non vous permettre de contourner une catastrophe.
Pour obtenir les valeurs contenues dans la propriété ReadErrorsCorrected
(également appelée secteurs réalloués) (exécutée en tant qu'administrateur):
PS C:\WINDOWS\system32> Get-Disk | Get-StorageReliabilityCounter | Select-Object -Property "*" DeviceId : 1 FlushLatencyMax : 46 LoadUnloadCycleCount : LoadUnloadCycleCountMax : ManufactureDate : PowerOnHours : 5505 ReadErrorsCorrected : 0 ReadErrorsTotal : 0 ReadErrorsUncorrected : 0 ReadLatencyMax : 231 StartStopCycleCount : StartStopCycleCountMax : Temperature : 27 TemperatureMax : 0 Wear : 0 WriteErrorsCorrected : WriteErrorsTotal : WriteErrorsUncorrected : WriteLatencyMax : 69 PSComputerName :
Exemple de sortie:
Get-Disk | Get-StorageReliabilityCounter | Select-Object -Property "*"
À partir de ce point, un script pour détecter tout secteur réalloué pourrait vérifier si cette valeur est autre chose que 0
et faites un rapport en conséquence.
--- tl; dr: ---
Exécuter
PS C:\WINDOWS\system32> Get-Disk | Get-StorageReliabilityCounter DeviceId Temperature ReadErrorsUncorrected Wear PowerOnHours -------- ----------- --------------------- ---- ------------ 1 0 0 5505 2 0 0 572 0 0 2799
ou p>
Get-Disk | Get-StorageReliabilityCounter
en tant qu'administrateur pour obtenir les SMART les plus importants informations.
Le blog MSDN contient un article sur le sujet qui devrait vous aider: blogs.msdn.microsoft.com/san/2012/09/26/...
Merci, Bonne lecture mais je recherche des informations spécifiques pas seulement un résumé. Plus précisément, ce qui est nécessaire est le décompte des secteurs réaffectés. Je peux utiliser des applications tierces qui doivent être installées, puis exécutées, puis exporter les données, mais j'aimerais pouvoir le faire à distance et automatisé si possible.
En effectuant une recherche Google, j'ai trouvé: i-programmer.info/projects/38-windows/… . J'espère que cela aide, mais je n'ai rien trouvé de spécifique pour
Nombre de secteurs réaffectés