in reply to PERL WMI call
I don't know which is best but you can also do WMI calls using the Win32::OLE module, see particularly the code in Win32::Process::Info(::WMI)
Almost immediate UPDATE:
The following (based on the first example in Planetscape's "Single line of code" link) works for me. The $WMI->Execute() call returns an object or list of objects which Data::Dumper displays here, should give you the info
use strict; use warnings; use Data::Dumper; use Win32::OLE; use Win32::OLE::Const; use constant wbemFlagReturnImmediately => 0x10; use constant wbemFlagForwardOnly => 0x20; my $computer = "localhost"; my $WMI = Win32::OLE->GetObject("winmgmts:\\\\$computer\\root\\CIMV2") + or die "WMI connection failed.\n"; my @items = $WMI->ExecQuery("SELECT * FROM Win32_Processor", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly); print Dumper($_) for (@items);
|
---|