Contact Info

Crumbtrail

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

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


Description

The Win32_BaseBoard WMI class represents a baseboard (also known as a motherboard or system board).

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_BaseBoard")
for objItem in colItems:
    if objItem.Caption != None:
        print "Caption:" + ` objItem.Caption`
    print "ConfigOptions:"
    strList = " "
    try :
        for objElem in objItem.ConfigOptions :
            strList = strList + `objElem` + ","
    except:
        strList = strList + 'null'
    print strList
    if objItem.CreationClassName != None:
        print "CreationClassName:" + ` objItem.CreationClassName`
    if objItem.Depth != None:
        print "Depth:" + ` objItem.Depth`
    if objItem.Description != None:
        print "Description:" + ` objItem.Description`
    if objItem.Height != None:
        print "Height:" + ` objItem.Height`
    if objItem.HostingBoard != None:
        print "HostingBoard:" + ` objItem.HostingBoard`
    if objItem.HotSwappable != None:
        print "HotSwappable:" + ` objItem.HotSwappable`
    if objItem.InstallDate != None:
        print "InstallDate:" + WMIDateStringToDate(objItem.InstallDate)
    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.OtherIdentifyingInfo != None:
        print "OtherIdentifyingInfo:" + ` objItem.OtherIdentifyingInfo`
    if objItem.PartNumber != None:
        print "PartNumber:" + ` objItem.PartNumber`
    if objItem.PoweredOn != None:
        print "PoweredOn:" + ` objItem.PoweredOn`
    if objItem.Product != None:
        print "Product:" + ` objItem.Product`
    if objItem.Removable != None:
        print "Removable:" + ` objItem.Removable`
    if objItem.Replaceable != None:
        print "Replaceable:" + ` objItem.Replaceable`
    if objItem.RequirementsDescription != None:
        print "RequirementsDescription:" + ` objItem.RequirementsDescription`
    if objItem.RequiresDaughterBoard != None:
        print "RequiresDaughterBoard:" + ` objItem.RequiresDaughterBoard`
    if objItem.SerialNumber != None:
        print "SerialNumber:" + ` objItem.SerialNumber`
    if objItem.SKU != None:
        print "SKU:" + ` objItem.SKU`
    if objItem.SlotLayout != None:
        print "SlotLayout:" + ` objItem.SlotLayout`
    if objItem.SpecialRequirements != None:
        print "SpecialRequirements:" + ` objItem.SpecialRequirements`
    if objItem.Status != None:
        print "Status:" + ` objItem.Status`
    if objItem.Tag != None:
        print "Tag:" + ` objItem.Tag`
    if objItem.Version != None:
        print "Version:" + ` objItem.Version`
    if objItem.Weight != None:
        print "Weight:" + ` objItem.Weight`
    if objItem.Width != None:
        print "Width:" + ` objItem.Width`