Author:
ksurent
Description: Get Property: Value pairs from OLE object
Language: Perl
#!perl
use strict;
use warnings;
use Win32::OLE 'in';
use Data::Dumper 'Dumper';
my $computer = shift || usage();
my $class = shift || usage();
my $ns = shift || '\\root\\CIMV2';
my $wmi = Win32::OLE->GetObject('winmgmts:{impersonationLevel=Impersonate}!\\\\' . $computer . $ns)
|| die Win32::OLE->LastError;
my $coll = $wmi->InstancesOf($class);
foreach(in $coll) {
foreach(in $_->{Properties_}) {
print $_->{Name}, ': ';
my $val = $_->{Value} || '<undef>';
print ref $val eq 'ARRAY' ? Dumper($val) : $val . "\n"
}
}
sub usage {
exit print qq{
Usage: perl $0 <computer name> <OLE class> [OLE namespace]
E.g.: perl $0 manager10 Win32_ComputerSystem
Note: default namespace is \\root\\CIMV2
WMI classes list: http://msdn.microsoft.com/en-us/library/aa394554(VS.85).aspx
}
}
|
Recent pastes:
n4n (Plain Text)
n4n (Perl)
alexITmore (Delphi)
alexITmore (Delphi)
ksurent (Perl)
ksurent (Perl)
ksurent (SQL)
cra (Perl)
cra (C++)
ksurent (Perl)
n0xi0uzz (Bash)
ksurent (Perl)
ksurent (Perl)
ksurent (Perl)
biophreak (Perl)
ksurent (Perl)
Gum (C++)
n0xi0uzz (PHP)
|