西数超哥博客
运维经验教程分享

iis重装批量恢复站点

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
}

 

赞(0)
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除。本站原创内容未经允许不得转载:西数超哥博客 » iis重装批量恢复站点

登录

找回密码

注册