我需要从C#/ .NET应用程序重新启动IIS。这似乎是一个微不足道的问题,但迄今为止我还没有取得成功,并且this question的答案都没有奏效。以编程方式重新启动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提示,我不能因为这个应用程序将无需用户干预的情况下运行。
还有什么我可以尝试吗?
我想你想'iisreset.exe',不'iisreset'。您需要文件扩展名。 –
你说得对。这是我写这个问题时的一个错字。我已经尝试过了。 – MgSam
如果您将UseShellExecute设置为true,则第一个将会工作。否则,'FileName'必须是完整的路径。有没有办法绕过UAC,这是点。您可以在该机器上关闭它。 – cadrell0