gpt4 book ai didi

powershell - 智能硬盘信息 Powershell

转载 作者:行者123 更新时间:2023-12-04 11:59:29 29 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to read HDD S.M.A.R.T. attributes?

(5 个回答)


去年关闭。




我正在寻找一种可能通过 powershell 获取任何给定设备上硬盘驱动器的 SMART 数据的方法。

我已经通过 CMD 和 powershell 尝试了 WMI 命令,但我没有看到我正在寻找的适当数据。

获取-WmiObject -list

我希望在此列表中找到适合 SMART 或重新分配空间的内容,但未找到任何相关内容。任何人都知道一种无需使用第 3 方应用程序即可从驱动器中提取智能数据的方法。我想自动化识别故障驱动器的过程,但需要传递特定信息,而不仅仅是是或否可能会失败。

最佳答案

在您的问题中,您要求使用通用 S.M.A.R.T.信息以及特定于重新分配部门的信息。我将向 S.M.A.R.T.首先通过 PowerShell 进行交互,然后给出示例代码以返回与重新分配的扇区相关的属性(也称为 ReadErrorsCorrected 属性)。这应该允许您定位指定的属性和其他 S.M.A.R.T.需要的属性。

--- 前言: ---

不幸的是,似乎没有办法获得所有 S.M.A.R.T.只能通过 PowerShell 从各种存储设备中获取信息,因为它是该功能的一种相当通用的实现,而 S.M.A.R.T.不同的存储设备供应商在其实现方面有所不同。

话虽如此,下面描述的方法应该满足典型 S.M.A.R.T.用户执行的检查,包括预测生命周期、重新分配和不可纠正的扇区等,尽管使用了相当通用的 PowerShell 术语(例如 lifespan = "Wear")。

--- 信息: ---

结合两个 PowerShell cmdlet,我们可以轻松查看一些 S.M.A.R.T.存储设备提供的数据:

Get-StorageReliabilityCounter

"The Get-StorageReliabilityCounter cmdlet gets the storage reliability counters for the specified disk or physical disk. These counters include information about such things as the device temperature, errors, wear, and length of time the device has been in use."



这是实际返回 S.M.A.R.T.我们寻求的数据。但是,与您可能熟悉的许多其他 cmdlet 不同,此 cmdlet 需要通过 PowerShell 对象指向目标磁盘。 (如果您是 PowerShell 的新手,这并不像听起来那么复杂,所以不要害怕。)

Get-Disk

"The Get-Disk cmdlet gets one or more Disk objects visible to the operating system, or optionally a filtered list."



这是我们将用来提供所需 PowerShell 对象的 cmdlet,以便 Get-StorageReliabilityCounter 知道要查询的磁盘。

--- 代码: ---

与任何事情一样,有多种方法可以实际执行代码,因此在我看来,我将提供代码以尽可能以最简单的方式获取所需信息。

对于简单的 S.M.A.R.T.所有本地磁盘的信息(以管理员身份运行):
Get-Disk | Get-StorageReliabilityCounter

示例输出:
PS C:\WINDOWS\system32> Get-Disk | Get-StorageReliabilityCounter

DeviceId Temperature ReadErrorsUncorrected Wear PowerOnHours
-------- ----------- --------------------- ---- ------------
1 0 0 5505
2 0 0 572
0 0 2799

对于扩展 S.M.A.R.T.所有本地磁盘的信息(以管理员身份运行):
 Get-Disk | Get-StorageReliabilityCounter | Select-Object -Property "*"

截断的样本输出:
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 :

如您所见,列出了一些可能允许或不允许您规避灾难的理想指标。

用于获取 ReadErrorsCorrected 中包含的值属性(也称为重新分配的扇区)(以管理员身份运行):
 Get-Disk | Get-StorageReliabilityCounter | Select-Object -ExpandProperty "ReadErrorsCorrected"

示例输出:
PS C:\WINDOWS\system32> Get-Disk | Get-StorageReliabilityCounter | Select-Object -ExpandProperty "ReadErrorsCorrected"
0

从这一点来看,一些检测任何重新分配扇区的脚本可以检查这个值是否不是 0。并相应报告。

--- tl;博士: ---


Get-Disk | Get-StorageReliabilityCounter

或者
Get-Disk | Get-StorageReliabilityCounter | Select-Object -Property "*"

作为管理员 获得最重要的 S.M.A.R.T.信息。

关于powershell - 智能硬盘信息 Powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58453447/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com