2015-06-15 5 views
1

im пытается выполнить удаленный процесс с использованием psexec в приложении C#. это мой код:C# psexec response get params

  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 команды в ответ, но если команда = «реж» для Exemple я ничего не получаю в ответ . любая помощь.

ответ

0

Вы также забыли прочитать стандартную ошибку. Может быть, psexec пишет об этом.

Предлагаю вам использовать один из лучших проголосовавших фрагментов переполнения стека, который можно найти по адресу: site:stackoverflow.com process RedirectStandardOutput. Есть сотни таких вопросов. Большинство решений тонко ошибочны, но, безусловно, лучше, чем это, что явно неверно.

This is a good checklist.