# setup: # powershell Set-ExecutionPolicy RemoteSigned # run: # powershell ./get-smart.ps1 # date: 2014-08-13 # author: DEX $computername = $env:COMPUTERNAME $objWMI = get-wmiobject -namespace root\WMI -computername $computername -Query "Select * from MSStorageDriver_FailurePredictData" foreach ($obj in $objWMI) { write("########") write("Active: " + $obj.Active) write("InstanceName: " + $obj.InstanceName) write("Length: " + $obj.Length) write("bAttrID wStatusFlags bAttrValue bWorstValue bRawValue[6]") $result = "" $count = 0 :outer for($i = 2; $i -lt $obj.VendorSpecific.Length; $i += 12) { $count++ for($j = $i; $j -le $count * 12; $j++) { if( ($j -eq $i) -and ($obj.VendorSpecific[$j].ToString() -eq 0) ){ break outer } if($obj.VendorSpecific[$j] -ne $null) { $result += $obj.VendorSpecific[$j].ToString().PadLeft(4, ' ') } } $result += "`r`n" } write($result) }