Короче говоря ...
Это не работает:
Process p = new Process();
p.StartInfo.FileName = @"External\PsExec.exe";
string file = String.Concat(Path.Combine(Environment.CurrentDirectory,"temp"),@"\iisreset",DateTime.Now.ToString("ddMMyyyy-hhmmssss"),".txt");
p.StartInfo.Arguments = String.Format("-s -u {0}\\{1} -p {2} \\\\{3} iisreset > \"{4}\"", Domain,UserName, Password, machineIP, file);
p.StartInfo.CreateNoWindow = true;
p.Start();
p.WaitForExit();
Я получаю сообщение RPC Unavailable.
Но когда я получаю доступ к командной строкев папке программы, затем я запускаю это: (с правильными параметрами), точно так же, как я указал в имени файла / аргументах ...
External\PsExec.exe -s -u [user] -p [password] \\[ip] iisreset > "[path]"
Это работает!Должен ли я указать что-то еще в процессе C #?Что может случиться?
Заранее спасибо!
EDIT : Это работает, если я поставлю cmd
в качестве FileName и /c PsExec.exe
перед аргументами.Проблема в том, что он всегда показывает окно.