CIM perl 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 CIM WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
Sample Code
use Win32::OLE('in'); my $computer = "."; my $objWMIService = Win32::OLE->GetObject("winmgmts:\\\\$computer\\root\\CIMV2") or die "WMI connection failed.\n"; my $colItems = $objWMIService->ExecQuery("SELECT * FROM CIM_Action", "WQL"); foreach my $objItem (in $colItems) { print "ActionID: $objItem->{ActionID}\n"; print "AppID: $objItem->{AppID}\n"; print "Argument: $objItem->{Argument}\n"; print "Caption: $objItem->{Caption}\n"; print "CLSID: $objItem->{CLSID}\n"; print "Context: $objItem->{Context}\n"; print "DefInprocHandler: $objItem->{DefInprocHandler}\n"; print "Description: $objItem->{Description}\n"; print "Direction: $objItem->{Direction}\n"; print "FileTypeMask: $objItem->{FileTypeMask}\n"; print "Insertable: $objItem->{Insertable}\n"; print "Name: $objItem->{Name}\n"; print "ProgID: $objItem->{ProgID}\n"; print "RemoteName: $objItem->{RemoteName}\n"; print "SoftwareElementID: $objItem->{SoftwareElementID}\n"; print "SoftwareElementState: $objItem->{SoftwareElementState}\n"; print "TargetOperatingSystem: $objItem->{TargetOperatingSystem}\n"; print "Version: $objItem->{Version}\n"; print "VIProgID: $objItem->{VIProgID}\n"; print "\n"; print "########\n"; print "\n"; }