Sometimes we have to manually modify applicationHost.config. It is risky because bad editing can ruin the file and cause IIS to be broken. IIS cannot recover even after we have fixed the errors in all applicationHost.config files appeared on the machine and have restarted the machine.
The solution is to use AppCmd.exe. We can find it in C:\Windows\System32\inetsrv.
First, we use "appcmd list backup" to display all the available backups. Then we pick out a proper backup and use "appcmd restore backup <backup name>" to recover IIS. You could see these steps in the following screenshot:
Note: You need to open the backup file and check if it contains errors before you choose it to recover IIS. You could find these backup files in C:\inetpub\history. The sub folder names are the same as the backup names.