使用ServerManager读取IIS站点时如何避免UAC

时间:2013-07-26 09:25:36

标签: c# iis uac servermanager

我在ServerManager中使用Microsoft.Web.Administration来阅读和操作IIS网站。遗憾的是,这似乎需要UAC,有没有办法解决这个问题,或者我必须接受在执行此操作之前我必须要求我的用户获得许可?

var server = new ServerManager();
var site = server.Sites.FirstOrDefault(s => s.Name == "websiteName");
site.Stop();

1 个答案:

答案 0 :(得分:0)

你可以做两件事,如果你的程序是自治的,你可以设置一个计划任务并将其设置为“SYSTEM”

或者,如果您需要能够与应用程序交互,您可以构建一个实际完成所有工作的控制台应用程序,一直运行该应用程序,如上所述,作为系统运行的计划任务。

这可以称为MyAppService(虽然您不必构建服务器应用程序,控制台应用程序也没问题)

然后,构建一个应用程序,其中包含您想要执行的所有按钮的各种功能,并让它请求MyAppService完成工作。第二个应用程序可以作为标准用户运行,因为所有提升的工作都是由服务完成的。

我之前通过命名管道完成了它并且它起了作用。

我希望这是有道理的!