#!/usr/bin/perl -w use strict; use CGI ':standard'; use Win32::OLE; use Data::Dumper; my $compName = `hostname`; chop($compName); #jobfire: launch stuff on different servers with WMI, otherwise #just shell to local .bat files my @targetcomps = qw|YOURSERVERNAMESHERE|; print header; print start_html("Stuff that, if I did in .NET, I would STILL BE CODING"); foreach my $comp (@targetcomps){ if($comp eq $compName) { system('c:\temp\foo.bat'); }else { my $wmiObj = Win32::OLE->GetObject(qq|WinMgmts://$comp/root/cimv2|) or die $!; #die $! is probably wrong...check the API my ( $stuff ) = $wmiObj->ExecQuery('Select * from Win32_NetworkAdapterConfiguration where IPEnabled = True'); #print Dumper $stuff; foreach my $st (Win32::OLE::in($stuff)) { print $st->{IPAddress}->[0]; } } } print end_html; 1;