我需要从 C#/.NET 应用程序重新启动 IIS。这似乎是一个微不足道的问题,但到目前为止我还没有成功,而且这个问题的答案都没有奏效。
我是机器上的本地管理员。
我试过这个:
var process = new Process
{
StartInfo =
{
Verb = "runas",
WorkingDirectory = @"C:\Windows\System32\",
FileName = @"issreset.exe"
}
};
process.Start();
但这抛出了一个Win32Exception - cannot find the file specified.
我也尝试了各种组合,将整个路径放入FileName
,并使用,UseShellExecute
但这些选项都没有帮助。
我也尝试过通过命令行调用它:
var process = new Process
{
StartInfo =
{
Verb = "runas",
WindowStyle = ProcessWindowStyle.Hidden,
FileName = @"cmd.exe",
Arguments = "/C iisreset"
}
};
process.Start();
这有效,但它提供了一个 UAC 提示,我无法拥有该提示,因为该应用程序将在没有用户干预的情况下运行。
还有什么我可以尝试的吗?