设为首页 收藏本站 订阅本站

blogger

IIS Admin Service服务无法启动,因下列错误而停止的解决

cache 发布于 技术文档 2013-08-21 [ 5118 ] 次浏览 [ 2 ] 条评论

标签: IIS

最近发现有一台服务器上的网站无法访问,于是登录进去后看原因,发现登进去后弹出提示什么服务不能启动,打开IIS管理器居然还有死机现象,最终查看事件发现果然IIS出问题了,发现里面有这样错误事件:IIS Admin Service 服务因下列错误而停止:系统找不到指定的文件。 出现这样的错误提示真蛋疼,上面好多网站呢,难道要重装IIS?还好经过研究问题得到了简单解决,赶快拿来分享。

 

今天我公司服务器突然IIS不能启动,启动时提示"启动失败”,进入服务,手动启动IISADMIN服务也不行。
网上找了一下,看到一个SX说的如下方法,没少费劲,还没解决,鄙视这种SX。
SX的解决方式如下。
 查看系统日志多次出现三个错误报告:
1、IIS Admin Service 服务因 2148073478 (0x80090006) 服务性错误而停止。
2、无法解密此安全属性。正在忽略此属性/LM/W3SVC/1670790981/rootAnonymousUserPass
    ErrorCode           : 0x80090006
    (此错误出现两次,但属性值不同,这里每个属性值其实就代表一个网站,就是有两个网站配置信息不正确)

 在网上找了大半了晚上,都说重装一下吧,很难找出是什么原因。我这服务器上有300个网站,要是重装IIS,装了后添加IIS不知道要添加多长时间呢。可能我三天三夜都睡不了觉了。哈哈。。。。

 查找和考虑了一夜,第二天早上想到分析MetaBase.xml文件,(此方法只对2003有效)
 分析过程我就不说了,分析得有点乱。

 具体解决方法如下:

1、停止IIS,(哎,其实是费话了,IISADMIN无法启动根本就不要停止了。)
2、找到c:\windows\system32\inetsrv\MetaBase.xml
 3、在修改前先备份此文件,以防万一。(备份就是拷贝一份到其他地方)
4、再用记事本打开c:\windows\system32\inetsrv\MetaBase.xml,查找上面错误信息中忽略属性的"/LM/W3SVC/1670790981",后面的不要
5、将找到的那行:
<IIsWebServer        Location ="/LM/W3SVC/1670790981"
开始到
</IIsWebVirtualDir>
删除,删除时注意,行与行之间不要空行。否则很可能出错。
 在删除时也要留意一下,ServerComment="网站名称",到时会有用,如果错误信息多了,最好记下来。当然你也可以看ServerBindings=后面就是网站绑定的域名。

6、出现了几次错误信息,就重复几次4、5的操作。
7、操作完后重启IISADMIN,OK了。(此时的我想跳起来)
8、最后在IIS里添加网站被删除的几个网站。
 有问题联系我:QQ54960248


下面是MetaBase.xml文件里,完整的一个网站配置的信息,供参考,在删除时就是从<IIsWebServer 到</IIsWebVirtualDir>全部删除。

<IIsWebServer        Location ="/LM/W3SVC/196384284"
                 AuthFlags="0"
                 LogPluginClsid="{FF160663-DE82-11CF-BC0A-00AA006111E0}"
                 MaxBandwidth="307200"
                 MaxConnections="30"
                 ServerAutoStart="TRUE"
                 ServerBindings=":80:www.xxxxxx.com
                         :80:xxxxxx.com"
                 ServerComment="xxxxxx"
         >
 </IIsWebServer>
 <IIsFilters        Location ="/LM/W3SVC/196384284/filters"
                 AdminACL="49634462f0000000a400000040000000a033df9ebf05aec22b99d08927eb6f
88c1835151bf15810cffc558860e147e44af
56f7389b3b6c05764b6b8d44dccce1d236ad84647cac4f451862de8a8ce15
e4d8144ecb47cc781dbe2493568e79f93acc4e7ece68247
e1abcdaad4987d5bdeb6c824086427f5e51d560f693a774e7507bb5c2b5d48f31e
e4ba0a0f0af468a17467c7f0e9e8dd6b37453b5b88
8d87b2af4c397ec83d960d1a9f28d1a2caa915274007da36a434ff91122ee589a4
f25bfc5f3e4edaff4edce4be45d2a9e5d3f87568a
27eb77a16261d4bc5e374f20d86c3daf716252b6689065069ba378a6afd8b9d21dac97be71c"
         >
 </IIsFilters>
 <IIsWebVirtualDir        Location ="/LM/W3SVC/196384284/root"
                 AccessFlags="AccessSource | AccessRead | AccessWrite | AccessScript"
                 AnonymousUserName="NETLINE-7TTINPF\xxxxxx"
                 AnonymousUserPass="49634462600000001600000040000000a033df9ef605c052d899b789
87eb5b88f9836451ab15810c90ff4b60
76ced1cea3542be8dcc834c518ca159a85e1a47c7565a6a28151c6e37bc49551b22339462634f2a
0e64a22b8850e94b1aaf04e53085
200d47df6a245"
                 AppFriendlyName="默认应用程序"
                 AppIsolated="2"
                 AppRoot="/LM/W3SVC/196384284/Root"
                 AspEnableParentPaths="TRUE"
                 AuthFlags="AuthAnonymous | AuthNTLM"
                 DefaultDoc="index.htm,index.asp,Default.htm,Default.asp,Default.aspx"
                 DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc"
                 Path="E:\xxxxxx\www"
                 ScriptMaps=".asa,C:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST,TRACE
                         .asax,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG
                         .ascx,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG
                         .ashx,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG
                         .asmx,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG
                         .asp,C:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST,TRACE
                         .aspx,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG
                         .axd,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG
                         .cdx,C:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST,TRACE
                         .cer,C:\WINDOWS\system32\inetsrv\asp.dll,5,GET,HEAD,POST,TRACE
                         .config,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG
                         .cs,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG
                         .csproj,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG
                         .idc,C:\WINDOWS\system32\inetsrv\httpodbc.dll,5,GET,POST
                         .licx,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG
                         .rem,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG
                         .resources,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG
                         .resx,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG
                         .shtm,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST
                         .shtml,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST
                         .soap,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG
                         .stm,C:\WINDOWS\system32\inetsrv\ssinc.dll,5,GET,POST
                         .vb,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG
                         .vbproj,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG
                         .vsdisco,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG
                         .webinfo,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG"
                 UNCPassword="49634462500000000600000040000000a033df9ebe0500000622344
f3b136ada124105467c41e52a795ada5e3be28
8ec71631d15f0816680b1748190524cc440506cdba2279a73f01c8934d57769fb7e2e26f31f43b65ea4"
         >
 </IIsWebVirtualDir>

 


简单的解决方法:


其实造成IIS死掉的原因是IIS的设置文件被恶意修改或丢失了,该文件存放路径为C:\WINDOWS\system32\inetsrv\metabase.xml,不过幸好Windows Server 2003中会对IIS设置文件自动进行备份,我们只需要用C:\WINDOWS\system32\inetsrv\history文件夹内的备份文件还原metabase.xml即可,具体方法如下:
把C:\WINDOWS\ system32\inetsrv\history内的如MBSchema_0000000156_0000000000.xml类似文件重命名为metabase.xml然后复制到C:\WINDOWS\system32\inetsrv\文件夹中即可,如果该文件已经存在则覆盖原来就好了,最后重新启动计算机问题解决。

IIS Admin Service服务无法启动,因下列错误而停止的解决:目前有 2 条留言

  1. # 沙发
    重庆一日游:

    路过 留下脚印

    2014-05-03 22:14 [回复]

发表评论