授予在 IIS7x 上回收应用程序池的权限

Give permissions to recycle App Pool on IIS7x

我参与了一个项目,在该项目中,通过采用 DevOps 方法,必须在目标服务器上安装一个软件(Windows 服务充当代理)以允许远程和自主地执行部署。

作为背景,我们在这里谈论的是远程管理部署的服务器,不同的目标服务器(Windows 2008 R2)部署了代码。服务器托管 IIS 应用程序,部署仅包括替换文件和文件夹,然后是应用程序池回收。

为此,我尝试应用两种不同类型的权限:对应用程序文件夹结构的 NTFS 权限和回收应用程序池的权限。

这是我遇到问题的最后一个。我花了几个小时在互联网上搜索此事,但我无法弄清楚如何正确地做到这一点,如果可能的话。 几乎所有参考资料(如以下)都集中在 IIS 远程管理委派或远程 Web 部署上,我尝试应用它们但未成功。

我实际上需要知道的是如何在服务器本地(对于帐户 运行 代理)委派权限(仅回收应用程序池,仅此)。

我们最终通过使用具有管理员权限和计划任务的第二个帐户解决了这个问题。

所以,我们开始于:

  • 服务帐户 (A) 运行使用 DevOps 代理,权限有限。
  • 服务帐户 (B) 运行使用管理员权限执行计划任务以回收应用程序池。

我们做到了:

  • 用 A 创建了一个计划任务,因此它是该任务的实际所有者并且拥有 运行 它的必要权限。
  • 将该任务配置为 运行 作为 B,作为具有管理员权限,将具有执行应用程序池回收的必要权限。

此方法将允许我们模拟无法(或不容易)委派权限的其他管理员任务。