有人可以帮我解决这个问题吗?
我在本地有一组可执行文件,那些需要远程运行并从它们返回输出。我有远程机器登录凭据。如果有办法在C ++,C#/ powershell / WMI等中以编程方式执行此操作,您能告诉我吗?
答案 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产品。如果要重定向输出,只需将其存储在字符串对象中即可。