从提示
直接执行以下语句\\my_ip -u my_user -p my_pass -w C:\ta33 tasklist
返回预期的任务列表。 但是在C#代码中使用相同的语句,如
string executeCommand = "\\\\10.141.86.30 -u biebls -p 1krahsavs -w C:\\ta33 tasklist";
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = System.IO.Directory.GetCurrentDirectory() + "\\PsExec.exe";
psi.Arguments = executeCommand;
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
Console.WriteLine("File [" + psi.FileName + "] - Args [" + psi.Arguments + "]");
Process p = new Process();
p.StartInfo = psi;
p.Start();
StreamReader outputReader = p.StandardOutput;
StreamReader errorReader = p.StandardError;
p.WaitForExit();
十分钟后我没有得到任何答案。任何人都可以帮助我吗?
答案 0 :(得分:0)
我很确定你的输出缓冲区已满,等待清空。使用Process
时,人们遇到了许多常见问题。以下是一些快速浏览,其中包含一些代码示例http://csharptest.net/321/how-to-use-systemdiagnosticsprocess-correctly/