玩轉WMI --- 用指令碼獲取硬碟感測器溫度和SMART訊息
阿新 • • 發佈:2019-02-10
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\WMI")
Set colItems = objWMIService.ExecQuery("SELECT * FROM MSStorageDriver_FailurePredictThresholds",,48)
For Each objItem In colItems
j = 0
For i = 2 To UBound(objItem.VendorSpecific, 1) Step 12
items(j) = objItem.VendorSpecific(i)
threshold(j) = objItem.VendorSpecific(i+1)
j = j + 1
Next
Next
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\WMI")
Set colItems = objWMIService.ExecQuery("SELECT * FROM MSStorageDriver_ATAPISmartData",,48)
For Each objItem In colItems
For i = 2 To UBound(objItem.VendorSpecific, 1) Step 12
If objItem.VendorSpecific(i) = getInfo(0) Then
k = i
For j = 0 To 11
smartdata(0,j) = objItem.VendorSpecific(k)
k = k + 1
Next
End If
If objItem.VendorSpecific(i) = getInfo(1) Then
k = i
For j = 0 To 11
smartdata(1,j) = objItem.VendorSpecific(k)
k = k + 1
Next
End If
If objItem.VendorSpecific(i) = getInfo(2) Then
k = i
For j = 0 To 11
smartdata(2,j) = objItem.VendorSpecific(k)
k = k + 1
Next
End If
Next
Next
Set colItems = objWMIService.ExecQuery("SELECT * FROM MSStorageDriver_FailurePredictThresholds",,48)
For Each objItem In colItems
j = 0
For i = 2 To UBound(objItem.VendorSpecific, 1) Step 12
items(j) = objItem.VendorSpecific(i)
threshold(j) = objItem.VendorSpecific(i+1)
j = j + 1
Next
Next
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\WMI")
Set colItems = objWMIService.ExecQuery("SELECT * FROM MSStorageDriver_ATAPISmartData",,48)
For Each objItem In colItems
For i = 2 To UBound(objItem.VendorSpecific, 1) Step 12
If objItem.VendorSpecific(i) = getInfo(0) Then
k = i
For j = 0 To 11
smartdata(0,j) = objItem.VendorSpecific(k)
k = k + 1
Next
End If
If objItem.VendorSpecific(i) = getInfo(1) Then
k = i
For j = 0 To 11
smartdata(1,j) = objItem.VendorSpecific(k)
k = k + 1
Next
End If
If objItem.VendorSpecific(i) = getInfo(2) Then
k = i
For j = 0 To 11
smartdata(2,j) = objItem.VendorSpecific(k)
k = k + 1
Next
End If
Next
Next