Win32_PerfFormattedData_Tcpip_ICMP python 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_PerfFormattedData_Tcpip_ICMP WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
Sample Code
import win32com.client def WMIDateStringToDate(dtmDate): strDateTime = "" if (dtmDate[4] == 0): strDateTime = dtmDate[5] + '/' else: strDateTime = dtmDate[4] + dtmDate[5] + '/' if (dtmDate[6] == 0): strDateTime = strDateTime + dtmDate[7] + '/' else: strDateTime = strDateTime + dtmDate[6] + dtmDate[7] + '/' strDateTime = strDateTime + dtmDate[0] + dtmDate[1] + dtmDate[2] + dtmDate[3] + " " + dtmDate[8] + dtmDate[9] + ":" + dtmDate[10] + dtmDate[11] +':' + dtmDate[12] + dtmDate[13] return strDateTime strComputer = "." objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator") objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2") colItems = objSWbemServices.ExecQuery("SELECT * FROM Win32_PerfFormattedData_Tcpip_ICMP") for objItem in colItems: if objItem.Caption != None: print "Caption:" + ` objItem.Caption` if objItem.Description != None: print "Description:" + ` objItem.Description` if objItem.Frequency_Object != None: print "Frequency_Object:" + ` objItem.Frequency_Object` if objItem.Frequency_PerfTime != None: print "Frequency_PerfTime:" + ` objItem.Frequency_PerfTime` if objItem.Frequency_Sys100NS != None: print "Frequency_Sys100NS:" + ` objItem.Frequency_Sys100NS` if objItem.MessagesOutboundErrors != None: print "MessagesOutboundErrors:" + ` objItem.MessagesOutboundErrors` if objItem.MessagesPersec != None: print "MessagesPersec:" + ` objItem.MessagesPersec` if objItem.MessagesReceivedErrors != None: print "MessagesReceivedErrors:" + ` objItem.MessagesReceivedErrors` if objItem.MessagesReceivedPersec != None: print "MessagesReceivedPersec:" + ` objItem.MessagesReceivedPersec` if objItem.MessagesSentPersec != None: print "MessagesSentPersec:" + ` objItem.MessagesSentPersec` if objItem.Name != None: print "Name:" + ` objItem.Name` if objItem.ReceivedAddressMask != None: print "ReceivedAddressMask:" + ` objItem.ReceivedAddressMask` if objItem.ReceivedAddressMaskReply != None: print "ReceivedAddressMaskReply:" + ` objItem.ReceivedAddressMaskReply` if objItem.ReceivedDestUnreachable != None: print "ReceivedDestUnreachable:" + ` objItem.ReceivedDestUnreachable` if objItem.ReceivedEchoPersec != None: print "ReceivedEchoPersec:" + ` objItem.ReceivedEchoPersec` if objItem.ReceivedEchoReplyPersec != None: print "ReceivedEchoReplyPersec:" + ` objItem.ReceivedEchoReplyPersec` if objItem.ReceivedParameterProblem != None: print "ReceivedParameterProblem:" + ` objItem.ReceivedParameterProblem` if objItem.ReceivedRedirectPersec != None: print "ReceivedRedirectPersec:" + ` objItem.ReceivedRedirectPersec` if objItem.ReceivedSourceQuench != None: print "ReceivedSourceQuench:" + ` objItem.ReceivedSourceQuench` if objItem.ReceivedTimeExceeded != None: print "ReceivedTimeExceeded:" + ` objItem.ReceivedTimeExceeded` if objItem.ReceivedTimestampPersec != None: print "ReceivedTimestampPersec:" + ` objItem.ReceivedTimestampPersec` if objItem.ReceivedTimestampReplyPersec != None: print "ReceivedTimestampReplyPersec:" + ` objItem.ReceivedTimestampReplyPersec` if objItem.SentAddressMask != None: print "SentAddressMask:" + ` objItem.SentAddressMask` if objItem.SentAddressMaskReply != None: print "SentAddressMaskReply:" + ` objItem.SentAddressMaskReply` if objItem.SentDestinationUnreachable != None: print "SentDestinationUnreachable:" + ` objItem.SentDestinationUnreachable` if objItem.SentEchoPersec != None: print "SentEchoPersec:" + ` objItem.SentEchoPersec` if objItem.SentEchoReplyPersec != None: print "SentEchoReplyPersec:" + ` objItem.SentEchoReplyPersec` if objItem.SentParameterProblem != None: print "SentParameterProblem:" + ` objItem.SentParameterProblem` if objItem.SentRedirectPersec != None: print "SentRedirectPersec:" + ` objItem.SentRedirectPersec` if objItem.SentSourceQuench != None: print "SentSourceQuench:" + ` objItem.SentSourceQuench` if objItem.SentTimeExceeded != None: print "SentTimeExceeded:" + ` objItem.SentTimeExceeded` if objItem.SentTimestampPersec != None: print "SentTimestampPersec:" + ` objItem.SentTimestampPersec` if objItem.SentTimestampReplyPersec != None: print "SentTimestampReplyPersec:" + ` objItem.SentTimestampReplyPersec` if objItem.Timestamp_Object != None: print "Timestamp_Object:" + ` objItem.Timestamp_Object` if objItem.Timestamp_PerfTime != None: print "Timestamp_PerfTime:" + ` objItem.Timestamp_PerfTime` if objItem.Timestamp_Sys100NS != None: print "Timestamp_Sys100NS:" + ` objItem.Timestamp_Sys100NS`