从远程计算机使用 IIS 管理器更改应用程序池的标识时出错:键集不存在

本文帮助您解决在使用远程计算机上的 Microsoft Internet 信息服务(IIS)管理器更改应用程序池的标识时发生的错误(键集不存在)。

原始产品版本:  Windows Server 2008、Windows Server 2008 R2
原始 KB 数:  977754

症状

请考虑以下情况:

  • 在运行 Windows Server 2008 或 Windows Server 2008 R2 的服务器上,为 IIS 启用远程管理。
  • 服务器在 IIS 中配置了一个以上的应用程序池。
  • 将其中一个应用程序池配置为使用自定义用户标识。
  • 您可以使用 IIS 管理器以管理员身份从远程计算机连接到服务器。

在这种情况下,当您尝试更改任何应用程序池的标识时,您会收到以下错误消息:

执行此操作时出错。
明细
键集不存在(HRESULT 中的异常:0x80090016)

原因

本地服务帐户是 IIS Web 管理服务(也称为 WMSvc)的服务帐户。 出现此问题的原因是本地服务帐户对 iisWasKey 位于文件夹中的项没有读取权限 %ALLUSERSPROFILE%\Microsoft\Crypto\RSA\MachineKeys

以下是 iisWasKey 注册表项的文件名:
76944fb33636aeddb9590521c2e8815a_GUID

解决方案

若要解决此问题,请按照下列步骤操作:

  1. 找到该 %ALLUSERSPROFILE%\Microsoft\Crypto\RSA\MachineKeys 文件夹。
  2. 右键单击 " 76944fb33636aeddb9590521c2e8815a_GUID " 文件,然后选择 "属性"。
  3. 选择 "安全" 选项卡,然后选择 "编辑"。 如果系统询问您是否要继续执行此操作,请选择 "继续"。 然后,在 "权限" 对话框中显示可访问此密钥文件的组名称和用户名列表。
  4. 选择“添加”。 然后,将显示 "选择用户、计算机、服务帐户或组" 对话框。
  5. 键入LOCAL SERVICE,然后选择 "检查名称"。
  6. 选择“确定”。
  7. 在 "组或用户名称" 列表中,选择 "本地服务"。 确保 "本地服务的权限" 列表中的 "读取" 复选框处于选中状态。
  8. 选择“确定”。

更多信息

此问题在 Windows Server 2008 Service Pack 2 中已修复。