Contact Info

Crumbtrail

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

Win32_SystemEnclosure 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_SystemEnclosure WMI class can be used in ActiveXperts Network Monitor to monitor your servers.


Description

The Win32_SystemEnclosure WMI class represents the properties associated with a physical system enclosure.

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_SystemEnclosure")
for objItem in colItems:
    if objItem.AudibleAlarm != None:
        print "AudibleAlarm:" + ` objItem.AudibleAlarm`
    if objItem.BreachDescription != None:
        print "BreachDescription:" + ` objItem.BreachDescription`
    if objItem.CableManagementStrategy != None:
        print "CableManagementStrategy:" + ` objItem.CableManagementStrategy`
    if objItem.Caption != None:
        print "Caption:" + ` objItem.Caption`
    print "ChassisTypes:"
    strList = " "
    try :
        for objElem in objItem.ChassisTypes :
            strList = strList + `objElem` + ","
    except:
        strList = strList + 'null'
    print strList
    if objItem.CreationClassName != None:
        print "CreationClassName:" + ` objItem.CreationClassName`
    if objItem.CurrentRequiredOrProduced != None:
        print "CurrentRequiredOrProduced:" + ` objItem.CurrentRequiredOrProduced`
    if objItem.Depth != None:
        print "Depth:" + ` objItem.Depth`
    if objItem.Description != None:
        print "Description:" + ` objItem.Description`
    if objItem.HeatGeneration != None:
        print "HeatGeneration:" + ` objItem.HeatGeneration`
    if objItem.Height != None:
        print "Height:" + ` objItem.Height`
    if objItem.HotSwappable != None:
        print "HotSwappable:" + ` objItem.HotSwappable`
    if objItem.InstallDate != None:
        print "InstallDate:" + WMIDateStringToDate(objItem.InstallDate)
    if objItem.LockPresent != None:
        print "LockPresent:" + ` objItem.LockPresent`
    if objItem.Manufacturer != None:
        print "Manufacturer:" + ` objItem.Manufacturer`
    if objItem.Model != None:
        print "Model:" + ` objItem.Model`
    if objItem.Name != None:
        print "Name:" + ` objItem.Name`
    if objItem.NumberOfPowerCords != None:
        print "NumberOfPowerCords:" + ` objItem.NumberOfPowerCords`
    if objItem.OtherIdentifyingInfo != None:
        print "OtherIdentifyingInfo:" + ` objItem.OtherIdentifyingInfo`
    if objItem.PartNumber != None:
        print "PartNumber:" + ` objItem.PartNumber`
    if objItem.PoweredOn != None:
        print "PoweredOn:" + ` objItem.PoweredOn`
    if objItem.Removable != None:
        print "Removable:" + ` objItem.Removable`
    if objItem.Replaceable != None:
        print "Replaceable:" + ` objItem.Replaceable`
    if objItem.SecurityBreach != None:
        print "SecurityBreach:" + ` objItem.SecurityBreach`
    if objItem.SecurityStatus != None:
        print "SecurityStatus:" + ` objItem.SecurityStatus`
    if objItem.SerialNumber != None:
        print "SerialNumber:" + ` objItem.SerialNumber`
    print "ServiceDescriptions:"
    strList = " "
    try :
        for objElem in objItem.ServiceDescriptions :
            strList = strList + `objElem` + ","
    except:
        strList = strList + 'null'
    print strList
    print "ServicePhilosophy:"
    strList = " "
    try :
        for objElem in objItem.ServicePhilosophy :
            strList = strList + `objElem` + ","
    except:
        strList = strList + 'null'
    print strList
    if objItem.SKU != None:
        print "SKU:" + ` objItem.SKU`
    if objItem.SMBIOSAssetTag != None:
        print "SMBIOSAssetTag:" + ` objItem.SMBIOSAssetTag`
    if objItem.Status != None:
        print "Status:" + ` objItem.Status`
    if objItem.Tag != None:
        print "Tag:" + ` objItem.Tag`
    print "TypeDescriptions:"
    strList = " "
    try :
        for objElem in objItem.TypeDescriptions :
            strList = strList + `objElem` + ","
    except:
        strList = strList + 'null'
    print strList
    if objItem.Version != None:
        print "Version:" + ` objItem.Version`
    if objItem.VisibleAlarm != None:
        print "VisibleAlarm:" + ` objItem.VisibleAlarm`
    if objItem.Weight != None:
        print "Weight:" + ` objItem.Weight`
    if objItem.Width != None:
        print "Width:" + ` objItem.Width`