Windows 进程激活服务失败 - Windows 10

Gle*_*tle 9 iis windows-10

Windows 进程激活服务 (WAS) 将不再在我的 Windows 10 PC 上启动。因此,IIS 将无法启动。我不太确定它何时发生,但可能是在上个月。

在启动过程中,我现在在系统日志中收到一系列 4 错误事件:

WAS 5215:Windows 进程激活服务 (WAS) 无法为离线设置执行初始化。数据字段包含错误编号。[数据字段:50000780]

WAS 5005:Windows 进程激活服务 (WAS) 由于遇到错误而停止。数据字段包含错误编号。[数据字段:50000780]

服务控制管理器 7023:WAS 服务因以下错误而终止:文件存在。

服务控制管理器 7001:W3SVC 服务依赖于 WAS 服务,由于以下错误而无法启动:文件存在。

我对此类错误的引用不多,文件存在错误。

(我尝试使用 ProcMon 来尝试识别它所指的文件,但它绝对拒绝运行。)


编辑...终于让 ProcMon 工作(在使用 VS2017 提取 64 位版本之后)。原来导致上述问题的文件是C:\Windows\System32\inetsrv\Config文件夹中的“applicationhost.config.tmp”文件。删除该文件允许该过程进一步继续。

现在,第一个和第三个错误是:

WAS 5215:Windows 进程激活服务 (WAS) 无法为离线设置执行初始化。数据字段包含错误编号。[数据字段:0D000780]

服务控制管理器 7023:Windows 进程激活服务服务因以下错误而终止:数据无效。


根据 Yanbing Shi 的回答,以下是iis.log文件中的最新行:

[01/13/2018 23:10:41] [ ***** IIS 10.0 Component Based Setup ***** ] [01/13/2018 23:10:41] .\inetsrv\iissetup.exe /install SharedLibraries /nano [01/13/2018 23:10:41] Setting Installation Type to Nano [01/13/2018 23:10:41] Successfully added IIS_IUSRS ACE to DACL at %ProgramData%\Microsoft\Windows\WER\ReportQueue. [01/13/2018 23:10:42] < !!FAIL!! > Failed to create the NetFrameworkConfigurationKey key container (result=0x8009000f) [01/13/2018 23:10:42] < !!FAIL!! > Install of component SharedLibraries result=0x8009000f [01/13/2018 23:10:42] < !!FAIL!! > COMPONENT::ExecuteCommand result=0x8009000f [01/13/2018 23:10:42] [ End of IIS 10.0 Component Based Setup ]


针对石彦兵的下一个回答……

起初,我无法查看/编辑/删除d6d986f09a1ee04e24c949879fdb506c_*文件。当我尝试查看其权限时,我收到消息:You do not have permission to view this object's security properties, even as an administrative user. 但是,我能够将所有权更改为“管理员”,然后授予该组Full权限,然后我可以查看它。该文件不是文本文件,但文件中约有 28 个字节是NetFrameworkConfigurationKey. 我将文件移出该文件夹。

然后我跑net start wasSystem error 80 has occurred. The file exists.

iis.log文件中没有添加任何内容,但通常的错误事件已添加到系统事件日志中。

然后我手动删除了该applicationhost.config.tmp文件并运行net start was. 这一次,我得到了System error 13 has occurred. The data is invalid.

这一次,有新的条目 iis.log

[03/18/2018 07:44:54] [ ***** IIS 10.0 Component Based Setup ***** ] [03/18/2018 07:44:54] .\inetsrv\iissetup.exe /install SharedLibraries /nano [03/18/2018 07:44:54] Setting Installation Type to Nano [03/18/2018 07:44:55] Successfully added IIS_IUSRS ACE to DACL at %ProgramData%\Microsoft\Windows\WER\ReportQueue. [03/18/2018 07:44:55] Created NetFrameworkConfigurationKey key containter [03/18/2018 07:44:56] Created NetFrameworkConfigurationKey user key [03/18/2018 07:44:56] Set ACLs on NetFrameworkConfigurationKey [03/18/2018 07:44:56] < !!FAIL!! > Failed to create the iisWasKey key container (result=0x8009000f) [03/18/2018 07:44:56] < !!FAIL!! > Install of component SharedLibraries result=0x8009000f [03/18/2018 07:44:56] < !!FAIL!! > COMPONENT::ExecuteCommand result=0x8009000f [03/18/2018 07:44:56] [ End of IIS 10.0 Component Based Setup ]

Yan*_*Shi 9

失败是因为 WAS 在启动期间无法访问机器密钥。升级后第一次启动时,如果没有新机器密钥,WAS 将尝试创建新机器密钥,或者查询旧操作系统留下的旧机器密钥。在这种情况下,存在旧的机器密钥,但不幸的是 WAS 由于某些不清楚的原因无法访问它们。这些机器密钥用于加密 applicationHost.config 或 web.config 中的敏感信息(例如用户密码)。如果没有可以使用的机器密钥,WAS 将无法启动。

删除 IIS 使用的多个机器密钥的以下步骤可能有助于启动 WAS - WAS 将在启动时简单地重新创建这些密钥。

  1. 转到您的 RSA 机器密钥文件夹:C:\Users\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
  2. 查找名称以 d6d986f09a1ee04e24c949879fdb506c_* 开头的机器密钥(文件)。如果您使用记事本打开它,您应该会看到纯文本“NetFrameworkConfigurationKey”。
  3. 将此文件备份到其他文件夹。
  4. 删除此文件。
  5. 按照与2-4相同的步骤备份和删除iisWasKey:76944fb33636aeddb9590521c2e8815a_*
  6. 按照与2-4相同的步骤备份和删除iisConfigurationKey:6de9cb26d2b98c01ec4e9e8b34824aa2_*
  7. 手动启动 WAS
    • 通过“以管理员身份运行”打开命令提示符。
    • 净开始是