Win32_NetworkAdapterConfiguration python sample code | ActiveXperts Network Monitor
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_NetworkAdapterConfiguration WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
Description
The Win32_NetworkAdapterConfiguration WMI class represents the attributes and behaviors of a network adapter. This class has been extended to include extra properties and methods that support the management of the TCP/IP and Internetworking Packet Exchange (IPX) protocols (and are independent of the network adapter).
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_NetworkAdapterConfiguration")
for objItem in colItems:
if objItem.ArpAlwaysSourceRoute != None:
print "ArpAlwaysSourceRoute:" + ` objItem.ArpAlwaysSourceRoute`
if objItem.ArpUseEtherSNAP != None:
print "ArpUseEtherSNAP:" + ` objItem.ArpUseEtherSNAP`
if objItem.Caption != None:
print "Caption:" + ` objItem.Caption`
if objItem.DatabasePath != None:
print "DatabasePath:" + ` objItem.DatabasePath`
if objItem.DeadGWDetectEnabled != None:
print "DeadGWDetectEnabled:" + ` objItem.DeadGWDetectEnabled`
print "DefaultIPGateway:"
strList = " "
try :
for objElem in objItem.DefaultIPGateway :
strList = strList + `objElem` + ","
except:
strList = strList + 'null'
print strList
if objItem.DefaultTOS != None:
print "DefaultTOS:" + ` objItem.DefaultTOS`
if objItem.DefaultTTL != None:
print "DefaultTTL:" + ` objItem.DefaultTTL`
if objItem.Description != None:
print "Description:" + ` objItem.Description`
if objItem.DHCPEnabled != None:
print "DHCPEnabled:" + ` objItem.DHCPEnabled`
if objItem.DHCPLeaseExpires != None:
print "DHCPLeaseExpires:" + WMIDateStringToDate(objItem.DHCPLeaseExpires)
if objItem.DHCPLeaseObtained != None:
print "DHCPLeaseObtained:" + WMIDateStringToDate(objItem.DHCPLeaseObtained)
if objItem.DHCPServer != None:
print "DHCPServer:" + ` objItem.DHCPServer`
if objItem.DNSDomain != None:
print "DNSDomain:" + ` objItem.DNSDomain`
print "DNSDomainSuffixSearchOrder:"
strList = " "
try :
for objElem in objItem.DNSDomainSuffixSearchOrder :
strList = strList + `objElem` + ","
except:
strList = strList + 'null'
print strList
if objItem.DNSEnabledForWINSResolution != None:
print "DNSEnabledForWINSResolution:" + ` objItem.DNSEnabledForWINSResolution`
if objItem.DNSHostName != None:
print "DNSHostName:" + ` objItem.DNSHostName`
print "DNSServerSearchOrder:"
strList = " "
try :
for objElem in objItem.DNSServerSearchOrder :
strList = strList + `objElem` + ","
except:
strList = strList + 'null'
print strList
if objItem.DomainDNSRegistrationEnabled != None:
print "DomainDNSRegistrationEnabled:" + ` objItem.DomainDNSRegistrationEnabled`
if objItem.ForwardBufferMemory != None:
print "ForwardBufferMemory:" + ` objItem.ForwardBufferMemory`
if objItem.FullDNSRegistrationEnabled != None:
print "FullDNSRegistrationEnabled:" + ` objItem.FullDNSRegistrationEnabled`
print "GatewayCostMetric:"
strList = " "
try :
for objElem in objItem.GatewayCostMetric :
strList = strList + `objElem` + ","
except:
strList = strList + 'null'
print strList
if objItem.IGMPLevel != None:
print "IGMPLevel:" + ` objItem.IGMPLevel`
if objItem.Index != None:
print "Index:" + ` objItem.Index`
if objItem.InterfaceIndex != None:
print "InterfaceIndex:" + ` objItem.InterfaceIndex`
print "IPAddress:"
strList = " "
try :
for objElem in objItem.IPAddress :
strList = strList + `objElem` + ","
except:
strList = strList + 'null'
print strList
if objItem.IPConnectionMetric != None:
print "IPConnectionMetric:" + ` objItem.IPConnectionMetric`
if objItem.IPEnabled != None:
print "IPEnabled:" + ` objItem.IPEnabled`
if objItem.IPFilterSecurityEnabled != None:
print "IPFilterSecurityEnabled:" + ` objItem.IPFilterSecurityEnabled`
if objItem.IPPortSecurityEnabled != None:
print "IPPortSecurityEnabled:" + ` objItem.IPPortSecurityEnabled`
print "IPSecPermitIPProtocols:"
strList = " "
try :
for objElem in objItem.IPSecPermitIPProtocols :
strList = strList + `objElem` + ","
except:
strList = strList + 'null'
print strList
print "IPSecPermitTCPPorts:"
strList = " "
try :
for objElem in objItem.IPSecPermitTCPPorts :
strList = strList + `objElem` + ","
except:
strList = strList + 'null'
print strList
print "IPSecPermitUDPPorts:"
strList = " "
try :
for objElem in objItem.IPSecPermitUDPPorts :
strList = strList + `objElem` + ","
except:
strList = strList + 'null'
print strList
print "IPSubnet:"
strList = " "
try :
for objElem in objItem.IPSubnet :
strList = strList + `objElem` + ","
except:
strList = strList + 'null'
print strList
if objItem.IPUseZeroBroadcast != None:
print "IPUseZeroBroadcast:" + ` objItem.IPUseZeroBroadcast`
if objItem.IPXAddress != None:
print "IPXAddress:" + ` objItem.IPXAddress`
if objItem.IPXEnabled != None:
print "IPXEnabled:" + ` objItem.IPXEnabled`
print "IPXFrameType:"
strList = " "
try :
for objElem in objItem.IPXFrameType :
strList = strList + `objElem` + ","
except:
strList = strList + 'null'
print strList
if objItem.IPXMediaType != None:
print "IPXMediaType:" + ` objItem.IPXMediaType`
print "IPXNetworkNumber:"
strList = " "
try :
for objElem in objItem.IPXNetworkNumber :
strList = strList + `objElem` + ","
except:
strList = strList + 'null'
print strList
if objItem.IPXVirtualNetNumber != None:
print "IPXVirtualNetNumber:" + ` objItem.IPXVirtualNetNumber`
if objItem.KeepAliveInterval != None:
print "KeepAliveInterval:" + ` objItem.KeepAliveInterval`
if objItem.KeepAliveTime != None:
print "KeepAliveTime:" + ` objItem.KeepAliveTime`
if objItem.MACAddress != None:
print "MACAddress:" + ` objItem.MACAddress`
if objItem.MTU != None:
print "MTU:" + ` objItem.MTU`
if objItem.NumForwardPackets != None:
print "NumForwardPackets:" + ` objItem.NumForwardPackets`
if objItem.PMTUBHDetectEnabled != None:
print "PMTUBHDetectEnabled:" + ` objItem.PMTUBHDetectEnabled`
if objItem.PMTUDiscoveryEnabled != None:
print "PMTUDiscoveryEnabled:" + ` objItem.PMTUDiscoveryEnabled`
if objItem.ServiceName != None:
print "ServiceName:" + ` objItem.ServiceName`
if objItem.SettingID != None:
print "SettingID:" + ` objItem.SettingID`
if objItem.TcpipNetbiosOptions != None:
print "TcpipNetbiosOptions:" + ` objItem.TcpipNetbiosOptions`
if objItem.TcpMaxConnectRetransmissions != None:
print "TcpMaxConnectRetransmissions:" + ` objItem.TcpMaxConnectRetransmissions`
if objItem.TcpMaxDataRetransmissions != None:
print "TcpMaxDataRetransmissions:" + ` objItem.TcpMaxDataRetransmissions`
if objItem.TcpNumConnections != None:
print "TcpNumConnections:" + ` objItem.TcpNumConnections`
if objItem.TcpUseRFC1122UrgentPointer != None:
print "TcpUseRFC1122UrgentPointer:" + ` objItem.TcpUseRFC1122UrgentPointer`
if objItem.TcpWindowSize != None:
print "TcpWindowSize:" + ` objItem.TcpWindowSize`
if objItem.WINSEnableLMHostsLookup != None:
print "WINSEnableLMHostsLookup:" + ` objItem.WINSEnableLMHostsLookup`
if objItem.WINSHostLookupFile != None:
print "WINSHostLookupFile:" + ` objItem.WINSHostLookupFile`
if objItem.WINSPrimaryServer != None:
print "WINSPrimaryServer:" + ` objItem.WINSPrimaryServer`
if objItem.WINSScopeID != None:
print "WINSScopeID:" + ` objItem.WINSScopeID`
if objItem.WINSSecondaryServer != None:
print "WINSSecondaryServer:" + ` objItem.WINSSecondaryServer`
