PowerShell から S.M.A.R.T. 情報の取得

by kusakari 4. 2月 2010 19:17

PowerShellから、HDDのS.M.A.R.T.情報を取得してみたいと思います。

参考元:http://wiki.livedoor.jp/slt33333/d/SMART%a4%ce%b9%bd%c2%a4

 

S.M.A.R.T.を取得するためのWMI名前空間は「root\wmi」になります。
また、クラスは「MSStorageDriver_FailurePredictData」になります。

 

PowerShellから実際に、MSStorageDriver_FailurePredictDataを作るには下記のような感じになります。

Get-WmiObject -Namespace root\WMI -Class MSStorageDriver_FailurePredictData

 

作った MSStorageDriver_FailurePredictData の VendorSpecific にS.M.A.R.T.の値があります。

 

■サンプル
11個の値で1項目を表すみたいなので、見栄えが良いように整えています。
また、出力結果は各自のHDDによって変わります。

$ret = ""
$cnt = 0

$smart = gwmi -Namespace root\WMI -Class MSStorageDriver_FailurePredictData
for($i = 2; $i -lt $smart.VendorSpecific.Length; $i += 12) `
{
    $cnt++
    for($j = $i; $j -le $cnt * 12; $j++) `
    {
        if($smart.VendorSpecific[$j] -ne $null) `
        {
            $ret += $smart.VendorSpecific[$j].ToString().PadLeft(4, ' ')
        }
    }

    $ret += "`r`n"
}

write $ret

 

■結果
201024_185638_708

 

次回は、HDDの温度やシークエラーなどにスポットを当てみたいと思います。

 

Calendar

<<  9月 2010  >>
月曜火曜水曜木曜金曜土曜日曜
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

RecentComments

Comment RSS