Uses cooked performance counters to monitor physical disk performance.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!//" & strComputer & "/root/cimv2")
set objRefresher = CreateObject("WbemScripting.SWbemRefresher")
Set colItems = objRefresher.AddEnum (objWMIService, "Win32_PerfFormattedData_PerfDisk_PhysicalDisk").objectSet
objRefresher.Refresh
For i = 1 to 5
For Each objItem in colItems
Wscript.Echo "Average Disk Bytes Per Read: " & objItem.AvgDiskBytesPerRead
Wscript.Echo "Average Disk Bytes Per Transfer: " & objItem.AvgDiskBytesPerTransfer
Wscript.Echo "Average Disk Bytes Per Write: " & objItem.AvgDiskBytesPerWrite
Wscript.Echo "Average Disk Queue Length: " & objItem.AvgDiskQueueLength
Wscript.Echo "Average Disk Read Queue Length: " & objItem.AvgDiskReadQueueLength
Wscript.Echo "Average Disk Seconds Per Read: " & objItem.AvgDisksecPerRead
Wscript.Echo "Average Disk Seconds Per Transfer: " & objItem.AvgDisksecPerTransfer
Wscript.Echo "Average Disk Seconds Per Write: " & objItem.AvgDisksecPerWrite
Wscript.Echo "Average Disk Write Queue Length: " & objItem.AvgDiskWriteQueueLength
Wscript.Echo "Caption: " & objItem.Caption
Wscript.Echo "Current Disk Queue Length: " & objItem.CurrentDiskQueueLength
Wscript.Echo "Description: " & objItem.Description
Wscript.Echo "Disk Bytes Per Second: " & objItem.DiskBytesPersec
Wscript.Echo "Disk Read Bytes Per Second: " & objItem.DiskReadBytesPersec
Wscript.Echo "Disk Reads Per Second: " & objItem.DiskReadsPersec
Wscript.Echo "Disk Transfers Per Second: " & objItem.DiskTransfersPersec
Wscript.Echo "Disk Write Bytes Per Second: " & objItem.DiskWriteBytesPersec
Wscript.Echo "Disk Writes Per Second: " & objItem.DiskWritesPersec
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "Percent Disk Read Time: " & objItem.PercentDiskReadTime
Wscript.Echo "Percent Disk Time: " & objItem.PercentDiskTime
Wscript.Echo "Percent Disk Write Time: " & objItem.PercentDiskWriteTime
Wscript.Echo "Percent Idle Time: " & objItem.PercentIdleTime
Wscript.Echo "Split I/O Per Second: " & objItem.SplitIOPerSec
Wscript.Sleep 2000
objRefresher.Refresh
Next
Next