predictive drive failure using wmi
Hello all,
I have been trying to get a WMI query to return the status of 4 SCSI hard
drives in our Dell PE830s. I have searched every where, used the WMI
Scriptomatic, used the wim32_diskdrive and mass_storage_driver classes.
These seem to return the status of the array or raid controller. The
controller is a PERC 4/SC SCSI raid controller. I believe it is returning
the controller because it only loops through the collection once. Since we
have four drives, I would expect it to return 4 objects.
Below I have pasted my most recent script. Any insight into this would be a
big .
This script returns only the controller:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDiskDrives = objWMIService.ExecQuery _
("Select * from Win32_DiskDrive")
For each objDiskDrive in colDiskDrives
Wscript.Echo "Bytes Per Sector: " & vbTab & _
objDiskDrive.BytesPerSector
For i = Lbound(objDiskDrive.Capabilities) to _
Ubound(objDiskDrive.Capabilities)
Wscript.Echo "Capabilities: " & vbTab & _
objDiskDrive.Capabilities(i)
Next
Wscript.Echo "Caption: " & vbTab & objDiskDrive.Caption
Wscript.Echo "Device ID: " & vbTab & objDiskDrive.DeviceID
Wscript.Echo "Index: " & vbTab & objDiskDrive.Index
Wscript.Echo "Interface Type: " & vbTab & objDiskDrive.InterfaceType
Wscript.Echo "Manufacturer: " & vbTab & objDiskDrive.Manufacturer
Wscript.Echo "Media Loaded: " & vbTab & objDiskDrive.MediaLoaded
Wscript.Echo "Media Type: " & vbTab & objDiskDrive.MediaType
Wscript.Echo "Model: " & vbTab & objDiskDrive.Model
Wscript.Echo "Name: " & vbTab & objDiskDrive.Name
Wscript.Echo "Partitions: " & vbTab & objDiskDrive.Partitions
Wscript.Echo "PNP DeviceID: " & vbTab & objDiskDrive.PNPDeviceID
Wscript.Echo "SCSI Bus: " & vbTab & objDiskDrive.SCSIBus
Wscript.Echo "SCSI Logical Unit: " & vbTab & _
objDiskDrive.SCSILogicalUnit
Wscript.Echo "SCSI Port: " & vbTab & objDiskDrive.SCSIPort
Wscript.Echo "SCSI TargetId: " & vbTab & objDiskDrive.SCSITargetId
Wscript.Echo "Sectors Per Track: " & vbTab & _
objDiskDrive.SectorsPerTrack
Wscript.Echo "Signature: " & vbTab & objDiskDrive.Signature
Wscript.Echo "Size: " & vbTab & objDiskDrive.Size
Wscript.Echo "Status: " & vbTab & objDiskDrive.Status
Wscript.Echo "Total Cylinders: " & vbTab & _
objDiskDrive.TotalCylinders
Wscript.Echo "Total Heads: " & vbTab & objDiskDrive.TotalHeads
Wscript.Echo "Total Sectors: " & vbTab & objDiskDrive.TotalSectors
Wscript.Echo "Total Tracks: " & vbTab & objDiskDrive.TotalTracks
Wscript.Echo "Tracks Per Cylinder: " & vbTab & _
objDiskDrive.TracksPerCylinder
Next
this script returns nothing:
strServer = "."
Set objWMI = GetObject("winmgmts://" & strServer & "/root\WMI")
Set objInstances =
objWMI.InstancesOf("MSStorageDriver_FailurePredict Status",48)
On Error Resume Next
For Each objInstance in objInstances
With objInstance
WScript.Echo .Active
WScript.Echo .InstanceName
WScript.Echo .PredictFailure
WScript.Echo .Reason
End With
On Error Goto 0
Next
Thanks
Stekcub
|