我试图在c#应用程序中使用psexec执行远程进程。 这是我的代码:
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C psexec \\\\"+hostname +" "+command;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
startInfo.UseShellExecute = false;
process.StartInfo = startInfo;
process.Start();
response = process.StandardOutput.ReadToEnd();
process.WaitForExit();
问题是我只是在命令=“”时才得到响应,我得到了psexec命令的定义作为响应,但如果命令=“dir”为例,我得不到响应。任何帮助。
答案 0 :(得分:0)
您也忘了阅读标准错误。也许,psexec写道。
我建议您使用堆栈溢出的最高投票片段之一,由site:stackoverflow.com process RedirectStandardOutput
找到。有数百个这样的问题。大多数解决方案都是巧妙的错误,但肯定比这个明显不正确的更好。