Win32-CDROMDrive - WMI Python sample
The foundations for Manageability in Windows 2019/2016/2012/2008 and Windows 10/7/XP are 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.
On this site, you can find many WMI samples.
The Win32_CDROMDrive WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
Win32-CDROMDrive
Description
The Win32_CDROMDrive WMI class represents a CD-ROM drive on a Windows computer system. Note that the name of the drive does not correspond to the logical drive letter assigned to device.
Example(s)
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_CDROMDrive") for objItem in colItems: if objItem.Availability != None: print "Availability:" + ` objItem.Availability` print "Capabilities:" strList = " " try : for objElem in objItem.Capabilities : strList = strList + `objElem` + "," except: strList = strList + 'null' print strList print "CapabilityDescriptions:" strList = " " try : for objElem in objItem.CapabilityDescriptions : strList = strList + `objElem` + "," except: strList = strList + 'null' print strList if objItem.Caption != None: print "Caption:" + ` objItem.Caption` if objItem.CompressionMethod != None: print "CompressionMethod:" + ` objItem.CompressionMethod` if objItem.ConfigManagerErrorCode != None: print "ConfigManagerErrorCode:" + ` objItem.ConfigManagerErrorCode` if objItem.ConfigManagerUserConfig != None: print "ConfigManagerUserConfig:" + ` objItem.ConfigManagerUserConfig` if objItem.CreationClassName != None: print "CreationClassName:" + ` objItem.CreationClassName` if objItem.DefaultBlockSize != None: print "DefaultBlockSize:" + ` objItem.DefaultBlockSize` if objItem.Description != None: print "Description:" + ` objItem.Description` if objItem.DeviceID != None: print "DeviceID:" + ` objItem.DeviceID` if objItem.Drive != None: print "Drive:" + ` objItem.Drive` if objItem.DriveIntegrity != None: print "DriveIntegrity:" + ` objItem.DriveIntegrity` if objItem.ErrorCleared != None: print "ErrorCleared:" + ` objItem.ErrorCleared` if objItem.ErrorDescription != None: print "ErrorDescription:" + ` objItem.ErrorDescription` if objItem.ErrorMethodology != None: print "ErrorMethodology:" + ` objItem.ErrorMethodology` if objItem.FileSystemFlags != None: print "FileSystemFlags:" + ` objItem.FileSystemFlags` if objItem.FileSystemFlagsEx != None: print "FileSystemFlagsEx:" + ` objItem.FileSystemFlagsEx` if objItem.Id != None: print "Id:" + ` objItem.Id` if objItem.InstallDate != None: print "InstallDate:" + WMIDateStringToDate(objItem.InstallDate) if objItem.LastErrorCode != None: print "LastErrorCode:" + ` objItem.LastErrorCode` if objItem.Manufacturer != None: print "Manufacturer:" + ` objItem.Manufacturer` if objItem.MaxBlockSize != None: print "MaxBlockSize:" + ` objItem.MaxBlockSize` if objItem.MaximumComponentLength != None: print "MaximumComponentLength:" + ` objItem.MaximumComponentLength` if objItem.MaxMediaSize != None: print "MaxMediaSize:" + ` objItem.MaxMediaSize` if objItem.MediaLoaded != None: print "MediaLoaded:" + ` objItem.MediaLoaded` if objItem.MediaType != None: print "MediaType:" + ` objItem.MediaType` if objItem.MfrAssignedRevisionLevel != None: print "MfrAssignedRevisionLevel:" + ` objItem.MfrAssignedRevisionLevel` if objItem.MinBlockSize != None: print "MinBlockSize:" + ` objItem.MinBlockSize` if objItem.Name != None: print "Name:" + ` objItem.Name` if objItem.NeedsCleaning != None: print "NeedsCleaning:" + ` objItem.NeedsCleaning` if objItem.NumberOfMediaSupported != None: print "NumberOfMediaSupported:" + ` objItem.NumberOfMediaSupported` if objItem.PNPDeviceID != None: print "PNPDeviceID:" + ` objItem.PNPDeviceID` print "PowerManagementCapabilities:" strList = " " try : for objElem in objItem.PowerManagementCapabilities : strList = strList + `objElem` + "," except: strList = strList + 'null' print strList if objItem.PowerManagementSupported != None: print "PowerManagementSupported:" + ` objItem.PowerManagementSupported` if objItem.RevisionLevel != None: print "RevisionLevel:" + ` objItem.RevisionLevel` if objItem.SCSIBus != None: print "SCSIBus:" + ` objItem.SCSIBus` if objItem.SCSILogicalUnit != None: print "SCSILogicalUnit:" + ` objItem.SCSILogicalUnit` if objItem.SCSIPort != None: print "SCSIPort:" + ` objItem.SCSIPort` if objItem.SCSITargetId != None: print "SCSITargetId:" + ` objItem.SCSITargetId` if objItem.Size != None: print "Size:" + ` objItem.Size` if objItem.Status != None: print "Status:" + ` objItem.Status` if objItem.StatusInfo != None: print "StatusInfo:" + ` objItem.StatusInfo` if objItem.SystemCreationClassName != None: print "SystemCreationClassName:" + ` objItem.SystemCreationClassName` if objItem.SystemName != None: print "SystemName:" + ` objItem.SystemName` if objItem.TransferRate != None: print "TransferRate:" + ` objItem.TransferRate` if objItem.VolumeName != None: print "VolumeName:" + ` objItem.VolumeName` if objItem.VolumeSerialNumber != None: print "VolumeSerialNumber:" + ` objItem.VolumeSerialNumber`