Я предполагаю, что он не может найти psexec
, потому что вы установили UseShellExecute в false. Попробуйте указать полный путь к psexec.exe.
Вам также следует установить для свойства FileName
значение , равное файлу, который вы хотите запустить, и свойство Arguments
для аргументов командной строки, например:
ProcessStartInfo info = new ProcessStartInfo("C:\\PsTools");
info.FileName = @"c:\whatever\psexec.exe";
info.Arguments = @"""\\" + machine.Name + @"\C\Program Files\test.exe""";
info.RedirectStandardOutput = true;
info.UseShellExecute = false;
Process p = Process.Start(info);
Обратите внимание, что я также добавил двойные кавычки в свойстве Arguments
, чтобы оно не разбивалось на два аргумента из-за наличия в программных файлах пробела.