in reply to Convert from c# to Perl

To start up a process on a remote machine, you might try using WMI. Here's an old test Perl script I wrote ages ago to do that:

use Win32::OLE qw(in); use Win32::OLE::Variant; my $cmdline = "notepad"; my $machname = 'dev-autotest'; # This is the WMI moniker used to connect to CIM repository. my $class = "WinMgmts:{impersonationLevel=impersonate}!//$machname"; # Get the WMI interface. my $wmi = Win32::OLE->GetObject($class) or die "error: Get WMI $^E"; # Get a Win32_Process class object. my $proc = $wmi->Get('Win32_Process') or die "error: Get Win32_Process + $^E"; # Create a BYREF variant so a COM object can modify its value # and return it to us. my $vPid = Variant(VT_I4 | VT_BYREF, 0); # Create the new process if ($proc->Create($cmdline, undef, undef, $vPid) == 0) { print "process created ok, pid=$vPid\n"; } else { print "process create failed $^E\n"; }

Replies are listed 'Best First'.
Re^2: Convert from c# to Perl
by alwaysuseperl (Novice) on Aug 10, 2010 at 20:18 UTC
    Thank you! Thats a lot easier than I thought. You know if its possible to get the output of the command? Like if I ran a netstat?