我需要從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