Contact Info

Crumbtrail

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

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";
}