scsvel
14 years agoFrequent Contributor
VBScript - Get CPU Usage
Hi all,
I want to get CPU Usage from VBScript. I can't use TC API that's why I am getting like this. Here is my code.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set AllItems = objWMIService.ExecQuery("SELECT * FROM Win32_PerfFormattedData_PerfOS_Processor",,48)
for each itm in AllItems
WScript.Echo itm.PercentProcessorTime & "%"
next
Here PercentProcessorTime gives CPU Time not CPU Usage. I want to get CPU Usage. Can anybody help me?
Refer the screenshot also. Also refer http://msdn.microsoft.com/en-us/library/aa394372(v=VS.85).aspx#methods
Thanks...
- I use this in my scripts all the time. This should work.
Function sdGetCpu(proc)
proc = aqString.Replace(proc, ".exe", "")
proc = lcase(proc)
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
set objRefresher = CreateObject("WbemScripting.SWbemRefresher")
Set colItems = objRefresher.AddEnum(objWMIService, "Win32_PerfFormattedData_PerfProc_Process").objectSet
objRefresher.Refresh
For Each objItem in colItems
If lcase(objItem.Name) = proc Then
objRefresher.Refresh
sdGetCpu = objItem.PercentProcessorTime
End If
Next
End Function