我正在尝试从我的本地计算机(Windows 7)远程重新启动 iis(Windows Servr 2012)。命令行中的以下命令无法重新启动 IIS;
iisreset servername /restart
但是当我在命令行中尝试时,以下命令可以正常工作。
psexec iisreset \\servername /restart
现在的问题是当我在 C# 中尝试以下代码时,
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "\C psexec iisreset \\servername /restart";
startInfo.RedirectStandardOutput = true;
startInfo.UseShellExecute = false;
process.StartInfo = startInfo;
process.Start();
// capture what is generated in command prompt
var output = process.StandardOutput.ReadToEnd();
如果我在上面的代码中给出任何其他参数,比如“ipconfig”,它会给我预期的输出。但是当我尝试使用 psexec 时,它会给出空输出。但是在命令提示符下尝试时效果很好。
我还尝试在文件名中使用“psexec.exe”并在参数中删除“\C psexec”。但仍然没有运气。
你能请任何人帮我解决这个问题吗?
提前致谢。