Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Physical memory on remote machine

by mjg (Beadle)
on Mar 27, 2006 at 23:19 UTC ( #539578=sourcecode: print w/replies, xml ) Need Help??
Category: NT Admin
Author/Contact Info Mark Gardner
Description: A short example of WMI and Win32::OLE to get info from another server. Note that the hostname needs to be laundered or Win32::OLE will cry.
#!perl -wT

use Win32::OLE qw(in);
use Regexp::Common;

my $hostname = shift @ARGV || '.';
my $locator = Win32::OLE->new('WbemScripting.SWbemLocator')
  or die "Cannot access local WMI locator: ", Win32::OLE->LastError;

if ($hostname =~ /^$RE{net}{domain}{-keep}$/) {
    $hostname = $1;
} else {
    die "$hostname has insecure data, can't continue";
}
my $services = $locator->ConnectServer($hostname, 'root/cimv2')
  or die "Cannot access remote WMI services: ", Win32::OLE->LastError;

my $memory = 0;
$memory += $_->{Capacity} foreach in
  $services->ExecQuery("select * from Win32_PhysicalMemory");
print "$hostname has ", $memory/1024/1024/1024, " GiB\n";
Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://539578]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (15)
As of 2016-08-31 14:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    The best thing I ever won in a lottery was:















    Results (431 votes). Check out past polls.