应用程序池*将被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误


    服务器 Server 2003、 2008R2.  IIS 7.5、2019 iis 10.  发布的 asp网站。使用Classic .NET AppPool应用池。最近不间断的出503错误,检查IIS日志,报出这样的错误:
    应用程序池“Classic .NET AppPool”将被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误.
    和
    警告:
    为应用程序池“Classic .NET AppPool”提供服务的进程在与 Windows Process Activation Service 通信时出现严重错误。
    我在网上查到一个解决办法:
    最终的解决办法
    点击"开始"-"控制面板"-"管理工具"-"组件服务"-"计算机"-"我的电脑"-"DCOM"选项(在win2016、2019中在服务器管理器中 > 工具 > 组件服务)
    
    
    选择其下的"IIS ADMIN SERVICE",右健选择"属性",找到"安全",在"启动和激活权限"中编辑"自定义"
    
    添加帐号"NETWORK SERVICE ", 给该帐号赋予"本地启动"和"本地激活"的权限
    
    重新启动IIS即可("开始"-"运行"-"CMD",点确定,然后运行IISRESET)
    如果"IIS ADMIN SERVICE"这个居然全是灰色的,没法配置,后来查了说这个是win2019 x64的安全特性.一些核心系统组件只能允许本地帐号,TrustedInstaller有完全控制权限,而不是本地管理员组。
    
    解决办法如下:
    要在Windows Server 2008 R2 上修改 “IIS Admin Service” ,你需要授予本地管理员组有注册表权限:
    1.在组件管理器中查到IIS的appid(即应用程序ID)
    
    2.使用regedit,定位到HKEY_CLASSES_ROOT\AppID\{刚查到的ID}”
    复制 IIS Admin Service 的应用程序 ID,一般都是:{A9E69610-B80D-11D0-B9B9-00A0C922E750}
    
    3.右键点击{刚查到的ID},选权限
    到注册表中搜索 {A9E69610-B80D-11D0-B9B9-00A0C922E750},找到 HKEY_CLASSES_ROOT\AppID {A9E69610-B80D-11D0-B9B9-00A0C922E750},右击 -> 权限 -> 高级 -> 将所有者变更为 “Administrators”
    4.在权限设置窗口中点高级,选择所有者标签,选中administrators为所有者
    5.授予administrators组有读/写等所有权 注意:务必不要修改TrustedInstaller的权限(这个我一开始老是授权不成功,多试了几下就好了。点点高级配置什么的,多试试吧。)
    返回一个界面,给 Administrators 授予完全控制权限
    
    重新打开组件服务发现安全页不灰了
    
    然后参考上面的步骤正常设置一下就可以了。