如何在PowerShell中验证URL Rewrite模块是否安装成功?
美国、香港服务器
如何在PowerShell中验证URL Rewrite模块是否安装成功?
09-16 来源:
## 方法 1:查询 IIS 全局模块(推荐,判断模块是否加载)
Import-Module WebAdministration
Get-WebGlobalModule | Where-Object Name -match "Rewrite"
**成功**:会输出一行,Name=RewriteModule。
**未安装**:无任何输出。
## 方法 2:查询系统已安装软件(判断 MSI 包是否安装)
Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -match "IIS URL Rewrite Module"}
注意:这个命令扫描速度偏慢。有返回代表安装包存在。
## 方法 3:注册表查询(快速)
Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {$_.DisplayName -match "IIS URL Rewrite Module"} | Select DisplayName,DisplayVersion
## 方法 4:一键综合检查脚本(复制直接运行)
# 加载IIS模块
Import-Module WebAdministration -ErrorAction SilentlyContinue
$rewriteModule = Get-WebGlobalModule | Where-Object Name -match "Rewrite"
if($rewriteModule){
Write-Host "✅ URL Rewrite模块已加载,模块名称:$($rewriteModule.Name)" -ForegroundColor Green
}else{
Write-Host "❌ 未检测到URL Rewrite模块,请检查安装并执行iisreset" -ForegroundColor Red
}
## 重要说明
1. 安装完 MSI 包后,**必须执行 `iisreset`**,模块才会被 IIS 加载,否则上面第一条命令查不到。
2. 模块虽然安装,但**应用程序池回收前不生效**。
3. 模块不存在时,web.config 里写 `` 配置会直接报 `500.19` 错误。
## 补充:验证 rewrite 配置是否可读取(可选)
Get-WebConfiguration -Filter "/system.webServer/rewrite"
不报错代表 IIS 识别 rewrite 配置节。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快