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

本文解决了 密钥集不存在 错误。 使用远程计算机中的 Microsoft Internet Information Services (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) 的服务帐户。 出现此问题的原因是本地服务帐户对文件夹中%ALLUSERSPROFILE%\Microsoft\Crypto\RSA\MachineKeysiisWasKey密钥没有读取访问权限。

下面是密钥的 iisWasKey 文件名:
76944fb33636aeddb9590521c2e8815a_GUID

解决方案

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

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

更多信息

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