iis重装,恢复站点如果使用建站助手,可以使用建站助手完成重装iis并同步站点, 如果站点都不是助手创建,可以按照下面方式恢复 .
下面方式会将isap和cgi限制扩展等全部恢复.
1.打开 IIS 管理器:运行 inetmgr。
进入导出配置:
选中左侧的根节点(即你的服务器名称)。
在右侧“管理”区域找到并双击“共享的配置”。
执行导出:在右侧操作栏点击“导出配置”。
关键设置:
物理路径:选择一个安全的备份目录。例如D:/iisback
加密密钥:务必设置并牢记住一个密码,这是后续恢复的关键。牢记该密码
保存文件:点击“确定”后,该目录下会生成 administration.config、applicationHost.config 和 configEncKey.key 三个文件。
2. 管理员运行 iisreinstall.ps1 卸载iis ,然后重启,并再次管理员运行 iisreinstall.ps1.完成iis的安装 .
3. 共享的配置重新进行一次导出(必须否则不能导入) .勾选启用共享的配置”前的勾.然后”应用”,会提示输入密码.
4.重启,站点恢复完成
附件iisreinstall.ps1 :
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ===== 以管理员身份运行 =====
$flagFile = “$env:TEMP\IISReinstall_RecordedFeatures.xml”
if (Test-Path $flagFile) {
# ===== 重启后的安装阶段 =====
Write-Host “=== 检测到重启,开始恢复 IIS 组件 ===” -ForegroundColor Cyan
# 读取之前保存的组件列表
$featuresToInstall = Import-Clixml -Path $flagFile
Write-Host “需要恢复的组件数量: $($featuresToInstall.Count)” -ForegroundColor Yellow
# 安装之前记录的所有组件
Install-WindowsFeature -Name $featuresToInstall
# 重启 IIS
iisreset
# 验证安装结果
Write-Host “`n=== 验证安装结果 ===” -ForegroundColor Cyan
Get-WindowsFeature -Name $featuresToInstall | Format-Table Name, DisplayName, Installed -AutoSize
# 清理标志文件
Remove-Item $flagFile -Force
Write-Host “`nIIS 已成功恢复到卸载前的状态!” -ForegroundColor Green
} else {
# ===== 首次运行:卸载前记录并卸载 =====
Write-Host “=== 步骤 1: 获取当前已安装的所有 IIS 组件 ===” -ForegroundColor Cyan
# 获取所有已安装的 IIS 相关组件(Name 以 Web- 开头且 Installed 为 True)
$installedFeatures = Get-WindowsFeature | Where-Object {
$_.Name -like “Web-*” -and $_.Installed -eq $true
}
if ($installedFeatures.Count -eq 0) {
Write-Host “未检测到任何已安装的 IIS 组件,无需卸载。” -ForegroundColor Red
exit
}
Write-Host “发现以下 $($installedFeatures.Count) 个已安装的 IIS 组件:” -ForegroundColor Green
$installedFeatures | Format-Table Name, DisplayName -AutoSize
# 保存组件名称列表(只保存 Name,不保存整个对象,便于跨会话恢复)
$featureNames = $installedFeatures | Select-Object -ExpandProperty Name
$featureNames | Export-Clixml -Path $flagFile
Write-Host “已保存组件列表到: $flagFile” -ForegroundColor Cyan
# 确认卸载
Write-Host “`n=== 步骤 2: 卸载 IIS 角色 ===” -ForegroundColor Yellow
$confirm = Read-Host “是否继续卸载 IIS?(y/n)”
if ($confirm -ne ‘y’) {
Write-Host “已取消操作。” -ForegroundColor Red
Remove-Item $flagFile -Force -ErrorAction SilentlyContinue
exit
}
# 卸载 IIS(包括管理工具)
Uninstall-WindowsFeature -Name Web-Server -IncludeManagementTools
# 重启计算机
Write-Host “`n=== 步骤 3: 重启计算机以完成卸载 ===” -ForegroundColor Cyan
Write-Host “10 秒后重启…” -ForegroundColor Red
Start-Sleep -Seconds 10
Restart-Computer
}















