解决IIS应用程序池频繁自动停止问题

IIS应用程序池频繁自动描述:

错误为:为应用程序池“XXXXXX”提供服务的进程在与“Windows Process Activation Service”通信时出现严重错误。该进程 ID 为”XXX”。数据字段包含错误号。

这个是win2008 R2 X64的安全特性.一些核心系统组件只能允许本地帐号,TrustedInstaller有完全控制权限,而不是本地管理员组

要在Windows Server 2008 R2 上修改“IIS Admin Service” ,你需要授予本地管理员组有注册表权限:

1.在组件管理器中查到IIS的appid

2.使用regedit,定位到HKEY_CLASSES_ROOT\AppID\{刚查到的ID}”

注意:是HKEY_CLASSES_ROOT下面的appid,别选错路径了。。

主要有用的信息是记信CLSID: {A9E69610-B80D-11D0-B9B9-00A0C922E750},打开注册表,搜索这个项,在这个项中一个名为LocalService的值为IISADMIN,看来就是这个组件的权限不够。

这个CLSID可以从windows事件查看器–windows日志–系统中,查看事件的详细信息–xml视图

3.右键点击{刚查到的ID},选权限

4.在权限设置窗口中点高级,选择所有者标签,选中administrators为所有者

5.授予administrators组有读/写等所有权 注意:务必不要修改TrustedInstaller的权限

对“IIS Admin Service”服务,添加AUTHORITY\NETWORK SERVICE用户的启动权限。请通过以下步骤解决此权限问题:

1.在系统“运行”里面输入“dcomcnfg”,依次点开“组件服务”,“计算机”,“我的电脑”,“DCOM配置”,查找到我们需要的“IIS Admin Service”服务;

2.右键点击该服务,选择“属性”,进入“安全”菜单,在“启动和激活权限”中编辑“自定义”;

3.添加NT AUTHORITY\NETWORK SERVICE用户的启动权限。给该帐号赋予”本地启动”和”本地激活”的权限。

这里,我们不一定是netwrok service用户,只需添加运行站点应用程序池的用户即可