远程复制本地文件,执行并返回输出

时间:2013-01-15 15:05:15

标签: c# remoting powershell-remoting

有人可以帮我解决这个问题吗?

我在本地有一组可执行文件,那些需要远程运行并从它们返回输出。我有远程机器登录凭据。如果有办法在C ++,C#/ powershell / WMI等中以编程方式执行此操作,您能告诉我吗?

1 个答案:

答案 0 :(得分:2)

您应该考虑使用两个PSTools组合c#Process Class。 PSTools允许您激活进程远程计算机。

示例: -

**编辑**

在远程计算机上运行批处理文件的示例: -

// Create a New Process Object.
Process p = new Process();

//Assign the file you wish to execute.
p.StartInfo.FileName = "C:\\Utilities\\psexec.exe";

// We don't want a window creating for this task
p.StartInfo.CreateNoWindow = true;

// We don't want to use the operating system shell.                           
p.StartInfo.UseShellExecute = false;

// Here we set the argument to fire on the remote machine that will launch the Batc File.
p.StartInfo.Arguments = "\\\\" + RemoteMachineName + " C:\\YourBatFile.bat";

// Now to Start the Process.
p.Start();

// If you want to wait until the Process before moving on
p.WaitForExit();

这应该可以让你继续推进其他任务。它不仅仅是打开文件。您可以像使用WMI一样使用它来Insatll / Uninstall MsiInstaller产品。如果要重定向输出,只需将其存储在字符串对象中即可。