修复IIS:因ApplicationHost.config被破坏导致的崩溃

错误描述 

有时候我们必须手动或用脚本修改applicationHost.config来满足我们的一些需求。这就存在破坏applicationHost.config的风险。而一旦applicationHost.config被破坏,IIS就会崩溃。即时我们后来修复了applicationHost.config中的错误并重启机器,IIS都可能无法恢复。

解决方法 

解决的办法是使用IIS提供的AppCmd.exe的restore功能。我们可以在C:\Windows\System32\inetsrv里找到AppCmd.exe.

首先,我们运行appcmd list backup命令来显示所有可用的备份。然后我们选择一个备份并运行appcmd restore backup <backup name>。具体可参考下面的截图:

注意:在restore备份之前,一定要先打开要用的备份applicationhost.config,查看一下是否真的是没有错误的版本,然后才执行restore命令,要不然恢复会失败的。我们可以在C:\inetpub\history里找到所有的备份文件。它们都归类在以备份名命名的子目录里。