在c#中使用PsExec运行远程cmd文件时没有输出

时间:2017-09-01 20:58:10

标签: c# cmd process psexec

在c#中使用PsExe.exe运行远程cmd文件后,我无法读取输出。以下是我的尝试:

Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.FileName = @"D:\path\PsExec.exe";
string pargs = @"\\servername -u <username> -p <password> cmd /c C:\\path\\Test.cmd";
p.StartInfo.Arguments = pargs;
p.Start();
p.WaitForExit();

 string output = p.StandardOutput.ReadToEnd();
 MessageBox.Show("output=" + output);
 MessageBox.Show("error=" + p.StandardError.ReadToEnd());`

以下是Output

以下是我收到的Error

但是,如果我尝试执行以下命令表单local,它工作正常,我可以在那里看到输出。

Psexec //servername -u username -p password cmd /c C:\\path\\Test.cmd

注意: - Test.cmd也有pause声明

0 个答案:

没有答案