Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

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?

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://539578]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (3)
As of 2017-07-24 05:41 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (348 votes). Check out past polls.