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`