2

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

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

4

1 回答 1

2

你应该看看使用 Both 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();

这应该为您提供继续其他任务的想法。它不仅适用于打开文件。您可以使用它来安装/卸载 MsiInstaller 产品,就像使用 WMI 一样。如果要重定向输出,只需将其存储在字符串对象中。

于 2013-01-15T16:23:27.623 回答