The handle is invalid. Error communicating with PsExec service on Blah.Blah.Blah #### cmd started on Blah.Blah.Blah with process ID 4428. #### print for qx|$externalExe 2>&1|; #### #!/usr/bin/perl use strict; use warnings; my @servers = qw( Blah.Blah.Blah Blah1.Blah.Blah Blah2.Blah.Blah Blah3.Blah.Blah Blah4.Blah.Blah ); foreach (@servers){ my $externalExe = qq(psexec.exe \\\\$_ ); $externalExe .= q(-u BLAH\foo -p secret -i -d cmd /c shutdown /r /f /t 0); print "\n\nStarting external program...\n"; print for qx|$externalExe 2>&1|; # Executes the program, and prints it's output print "Program $externalExe run completed.\n"; sleep 360; }