是否可以在 2008 域控制器上使用 IIS 7 应用程序池标识

是否可以在 2008 域控制器上使用 IIS 7 应用程序池标识

因此,让我首先声明一下:我通常不会在域控制器上搭载 IIS,但这就是我所拥有的,并且在这种情况下我无法改变这一点。

我有一个需要在这里托管的 WCF Web 服务。我希望能够使用 IIS 中的应用程序池标识来授予文件系统权限以及组件服务中的启动和激活权限。当我尝试选择“IIS AppPool\DefaultAppPool”进行浏览时,我找不到该帐户。

有人知道这在 2008R2 域控制器上是否可以实现吗?

答案1

通过 Windows 2008R2 上的 UI 授予应用程序池标识的权限有时可能容易不起作用,但可以使用几个命令行工具来实现。

NTFS 权限:

使用ICACLS命令行工具设置NTFS权限:

icacls c:\wwwroot /grant "IIS AppPool\DefaultAppPool":(CI)(OI)(M)

以上配置将DefaultAppPool身份配置为具有c:\wwwroot文件和文件夹继承的修改权限。在 UI 中它看起来像:

在此处输入图片描述

并在权限高级 UI 下:

在此处输入图片描述

DCOM 启动和激活以及访问权限:

同样,这里的用户界面在账户方面可能有点不稳定IIS AppPool\<ident>,而且没有内置的命令行工具可以配置启动和激活权限访问权限。你可以尝试在注册表中设置这些值但除非你知道如何创建序列化的 ACLLaunchPermissionAccessPermission这将会非常艰难。

但一切还没有结束。有一个工具叫做dcomperm.exe,它作为示例项目包含在适用于 Windows 7 和 .NET Framework 4 的 Microsoft Windows SDK

这位小伙子在这里写到了这一点:

使用 DcomPerm.exe 向 100% 脚本化 SharePoint 安装又迈进了一步

你可以尝试自己构建它或者下载预构建的二进制文件来自他的 Microsoft Live SkyDrive。

要使用dcomperm.exe它,您需要了解AppIDDCOM 应用程序。您可以通过在应用程序的 DCOM 配置属性的“常规”选项卡中找到它来执行此操作。例如,我选择了 IIS CertObj 库作为工作示例。:

在此处输入图片描述

您可以将光标放在应用程序 ID 字段中并选择整个字段,确保也包含花括号。

接下来打开命令行提示符(以管理员身份运行)。要授予应用程序池标识本地启动和本地激活权限,您需要执行:

DComPerm.exe -al {62B8CCBE-5A45-4372-8C4A-6A87DD3EDD60} set "IIS AppPool\DefaultAppPool" permit level:ll,la

在哪里:

  • -al= 修改或列出启动和激活权限

  • {62B8CCBE-5A45-4372-8C4A-6A87DD3EDD60}= 我们从 DCOMCNFG UI 复制的应用程序 ID

  • set "IIS AppPool\DefaultAppPool"= 设置此身份

  • permit= 设置允许标志

  • ll= 本地发布

  • la= 本地激活

在 UI 中看起来如下所示:

在此处输入图片描述

答案2

看来,如果您运行的是 2008 之前的域功能级别,则无法从 GUI 解析内置的 IIS 帐户。

将域功能级别至少提升到 2008,或者尝试运行 Microsoft 提供的 JScriptKB946139

另请注意,不建议在域控制器上运行 Web 应用程序,原因如下:http://blogs.technet.com/b/abizerh/archive/2009/07/16/should-iis-be-installed-on-domain-controller.aspx

这是与 IIS 6/Windows 2k3 有关的问题,但其中一些问题仍然存在,例如 DCPROMO 问题

相关内容