user797963
user797963

Reputation: 3017

Windows - remotely running executable or cmd using WMI or powershell, and logging the output

This is incredibly difficult to do. I can't believe it. It should be so easy.

Anyway, using WMI (with both vbscript and perl) I'm able to start a process on a remote machine that runs a .exe, but I cannot get the output to write to a log. This is driving me nuts. I have to use WMI or powershell because I can't install anything additional on the remote machines, which are all Windows 2003 or newer. I also cannot assume that powershell remoting is enabled on all target machines, so I may not even be able to use powershell. This can cause a problem with powershell.

Here is what I'm trying to do in psuedo code:

servers = server1, server2, server3

for each server in servers

run command on remote server >> log.txt

next

Upvotes: 1

Views: 1578

Answers (1)

gpduck
gpduck

Reputation: 381

I'm assuming you have powershell remoting enabled on all the servers and that you want the results saved in a local log file (ie not on each server)...

$Servers = "server1", "server2","server3"

Invoke-Command -ComputerName $Servers -ScriptBlock { ping.exe www.stackoverflow.com } >> c:\localfile.txt

This also assumes that your exe outputs to stdout, I think there will be issues capturing other streams.

Upvotes: 1

Related Questions