c# psexec response 获取参数

c# psexec response get params

我正在尝试在 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();

问题是我只有在 command="" 时才得到响应,我得到 psexec 命令的定义作为响应,但是如果 command="dir" 例如,我没有得到任何响应。任何帮助。

您也忘了阅读标准错误。也许,psexec 写信给那个。

我建议您使用投票最高的堆栈溢出片段之一,可以通过以下方式找到:site:whosebug.com process RedirectStandardOutput。有数百个这样的问题。大多数解决方案都有细微的错误,但肯定比这个明显不正确的解决方案要好。

This is a good checklist.