Win32_PerfRawData_Tcpip_NetworkInterface jscript sample code
The foundations for Manageability in Windows is 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. The Win32_PerfRawData_Tcpip_NetworkInterface WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
Description
The Win32_PerfRawData_Tcpip_NetworkInterfaceraw data performance counter class represents raw data counters that measure the rates at which bytes and packets are sent and received over a TCP/IP network connection. It includes counters that monitor connection errors. This class is shown as the Network Interface object in System Monitor. The WMI source of its data is the high-performance Performance Counter Provider. The original data source is the Tcpip performance library. The corresponding formatted data class is Win32_PerfFormattedData_Tcpip_NetworkInterface. This class was added for Windows 2000.
Sample Code
var wbemFlagReturnImmediately = 0x10; var wbemFlagForwardOnly = 0x20; var arrComputers = new Array("\localhost"); for (i = 0; i < arrComputers.length; i++) { WScript.Echo(); WScript.Echo("=========================================="); WScript.Echo("Computer: " + arrComputers[i]); WScript.Echo("=========================================="); var objWMIService = GetObject("winmgmts:\\\\" + arrComputers[i] + "\\root\\CIMV2"); var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PerfRawData_Tcpip_NetworkInterface", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly); var enumItems = new Enumerator(colItems); for (; !enumItems.atEnd(); enumItems.moveNext()) { var objItem = enumItems.item(); WScript.Echo("BytesReceivedPersec: " + objItem.BytesReceivedPersec); WScript.Echo("BytesSentPersec: " + objItem.BytesSentPersec); WScript.Echo("BytesTotalPersec: " + objItem.BytesTotalPersec); WScript.Echo("Caption: " + objItem.Caption); WScript.Echo("CurrentBandwidth: " + objItem.CurrentBandwidth); WScript.Echo("Description: " + objItem.Description); WScript.Echo("Frequency_Object: " + objItem.Frequency_Object); WScript.Echo("Frequency_PerfTime: " + objItem.Frequency_PerfTime); WScript.Echo("Frequency_Sys100NS: " + objItem.Frequency_Sys100NS); WScript.Echo("Name: " + objItem.Name); WScript.Echo("OutputQueueLength: " + objItem.OutputQueueLength); WScript.Echo("PacketsOutboundDiscarded: " + objItem.PacketsOutboundDiscarded); WScript.Echo("PacketsOutboundErrors: " + objItem.PacketsOutboundErrors); WScript.Echo("PacketsPersec: " + objItem.PacketsPersec); WScript.Echo("PacketsReceivedDiscarded: " + objItem.PacketsReceivedDiscarded); WScript.Echo("PacketsReceivedErrors: " + objItem.PacketsReceivedErrors); WScript.Echo("PacketsReceivedNonUnicastPersec: " + objItem.PacketsReceivedNonUnicastPersec); WScript.Echo("PacketsReceivedPersec: " + objItem.PacketsReceivedPersec); WScript.Echo("PacketsReceivedUnicastPersec: " + objItem.PacketsReceivedUnicastPersec); WScript.Echo("PacketsReceivedUnknown: " + objItem.PacketsReceivedUnknown); WScript.Echo("PacketsSentNonUnicastPersec: " + objItem.PacketsSentNonUnicastPersec); WScript.Echo("PacketsSentPersec: " + objItem.PacketsSentPersec); WScript.Echo("PacketsSentUnicastPersec: " + objItem.PacketsSentUnicastPersec); WScript.Echo("Timestamp_Object: " + objItem.Timestamp_Object); WScript.Echo("Timestamp_PerfTime: " + objItem.Timestamp_PerfTime); WScript.Echo("Timestamp_Sys100NS: " + objItem.Timestamp_Sys100NS); } }