Contact Info

Crumbtrail » Administration » Scripts » WMI Performance Counters » VBScript

Thread - WMI sample in VBScript

The foundations for Manageability in Windows 2019/2012/2008/ and Windows 10/8/7/Vista/XP are Windows Management Instrumentation (WMI; formerly WBEM) and WMI extensions for Windows Driver Model (WDM).

ActiveXperts Network Monitor provides the ability to build monitor check routines based on WMI. ActiveXperts has collected more than a hundred WMI samples. You can use these samples as a base for new check routines you can write yourself.

On this site, you can find many WMI samples.

The Thread WMI class can be used in ActiveXperts Network Monitor to monitor your servers.



Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * From Win32_PerfRawData_PerfProc_Thread")

For Each objItem in colItems
	WScript.Echo "Caption:" & objItem.Caption
	WScript.Echo "ContextSwitchesPersec:" & objItem.ContextSwitchesPersec
	WScript.Echo "Description:" & objItem.Description
	WScript.Echo "ElapsedTime:" & objItem.ElapsedTime
	WScript.Echo "Frequency_Object:" & objItem.Frequency_Object
	WScript.Echo "Frequency_PerfTime:" & objItem.Frequency_PerfTime
	WScript.Echo "Frequency_Sys100NS:" & objItem.Frequency_Sys100NS
	WScript.Echo "IDProcess:" & objItem.IDProcess
	WScript.Echo "IDThread:" & objItem.IDThread
	WScript.Echo "Name:" & objItem.Name
	WScript.Echo "PercentPrivilegedTime:" & objItem.PercentPrivilegedTime
	WScript.Echo "PercentProcessorTime:" & objItem.PercentProcessorTime
	WScript.Echo "PercentUserTime:" & objItem.PercentUserTime
	WScript.Echo "PriorityBase:" & objItem.PriorityBase
	WScript.Echo "PriorityCurrent:" & objItem.PriorityCurrent
	WScript.Echo "StartAddress:" & objItem.StartAddress
	WScript.Echo "ThreadState:" & objItem.ThreadState
	WScript.Echo "ThreadWaitReason:" & objItem.ThreadWaitReason
	WScript.Echo "Timestamp_Object:" & objItem.Timestamp_Object
	WScript.Echo "Timestamp_PerfTime:" & objItem.Timestamp_PerfTime
	WScript.Echo "Timestamp_Sys100NS:" & objItem.Timestamp_Sys100NS
	WScript.Echo ""
	WScript.Echo "########"
	WScript.Echo ""