1. 程式人生 > >玩轉WMI --- 用指令碼獲取硬碟感測器溫度和SMART訊息

玩轉WMI --- 用指令碼獲取硬碟感測器溫度和SMART訊息

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