Ответ был комбинацией из ваших ответов. Но все правильное решение было:
ProcessStartInfo info = new ProcessStartInfo("C:\\PsTools");
info.FileName = @"C:\PsTools\psexec.exe";
info.Arguments = @"\\" + serverName + @" -i C:\WINDOWS\notepad.exe";
info.RedirectStandardOutput = true;
info.UseShellExecute = false;
Process p = Process.Start(info);
PowerShell также запускает собственные команды непосредственно из командной строки PowerShell, что означает, что ваша команда
setup.exe -inputFile C:\my_installer_input.txt
должна работать непосредственно из командной строки PowerShell.
Если вы выполняете на удаленном компьютере, вы можете запустить его с помощью Invoke-Command, как показано ниже.
Invoke-Command -Session $session -ScriptBlock { <YOUR CODE HERE> }
или
Invoke-Command -ComputerName <remote-computername> -ScriptBlock { <YOUR CODE HERE> }
Если это на удаленном компьютере, сделайте что-то вроде:
Invoke-Command -Computername ‘x’ -Scriptblock {
Set-Location C:\path\to\file
cmd /c setup.exe /arg1 /arg2
}