' Desc: PhyiscalDisk. ' Author: MJ ' Notes: Just some things I felt are important to have on an overall server phyiscal disks. ' ' AvgDiskSecPerRead - avg time in sec of a read of data from disk ' AvgDiskSecPerWrite - avg time in sec of a write operation of data to disk ' DiskReadsPerSec - Rate of read operations on the disk ' DiskReadBytesPerSec - rate at which btes are xfered from the disk during read operations ' DiskWriteBytesPerSec - rate at which bytes are xfered to the disk during a write operation ' DiskWritesPerSec - the rate of write operations on the disk ' AvgDiskQueueLength - avg number of both read and write requests that queued for the disk ' PercentDiskTime - % of elapsed tim that the disk drive is busy servicing read or write requests On Error Resume Next strComputer = "." Dim AvgDiskQueueLength, AvgDisksecPerRead,AvgDisksecPerWrite,DiskReadBytesPersec,DiskReadsPersec,DiskWriteBytesPersec,DiskWritesPersec,PercentDiskTime Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") set objRefresher = CreateObject("WbemScripting.SWbemRefresher") Set colDisks = objRefresher.AddEnum (objWMIService, "win32_perfformatteddata_perfdisk_physicaldisk").objectSet objRefresher.Refresh 'Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfFormattedData_PerfDisk_PhysicalDisk",,48) ' getting initial values Do For Each objItem in colDisks ' Fix Name to remove any : (since Introscope uses : as a delimiter) Name = objItem.Name fixedName = Replace(Name, ":", "", 1, -1, 1) ' Write out values Wscript.Echo "" Wscript.Echo "" Wscript.Echo "" Wscript.Echo "" Wscript.Echo "" Wscript.Echo "" Wscript.Echo "" Wscript.Echo "" Wscript.Echo "" Wscript.Sleep(2000) objRefresher.Refresh Next Loop '