Contact Info

Crumbtrail

ActiveXperts.com » Administration » Scripts » WMI » python sample

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`