我在IIS 8.5中配置了多个重定向站点,我想将它们全部列出。我试过了:
.\appcmd.exe list site * -section:system.webServer/httpRedirect
但是通配符与appcmd
无法正常工作。我也试过WebAdministration
模块:
Get-WebConfiguration system.webServer/httpRedirect * | Get-Member destination
但这也没有提供我需要的东西......这是一个包含2列网站和列表的列表目的地
答案 0 :(得分:4)
此代码段将为您提供网站名称和httpredirect目的地:
Get-Website | select name,@{name='destination';e={(Get-WebConfigurationProperty -filter /system.webServer/httpRedirect -name "destination" -PSPath "IIS:\Sites\$($_.name)").value}}
仅获取目的地:
(Get-WebConfigurationProperty -filter /system.webServer/httpRedirect -name "destination" -PSPath 'IIS:\Sites\*').value
答案 1 :(得分:1)
您可以参考以下功能来解决此问题。
Function Get-IISRedirectURLs {
[CmdletBinding()]
Param
(
[Parameter(Mandatory=$false)][String]$SiteName
)
If ([String]::IsNullOrEmpty($SiteName)) {
Get-Website | ForEach-Object {
$SiteName = $_.Name
$prop = Get-WebConfigurationProperty -filter /system.webServer/httpRedirect -name 'destination' -PSPath "IIS:\Sites\$SiteName"
Write-Host "$SiteName`t$($prop.value)"
}
} Else {
$prop = Get-WebConfigurationProperty -filter /system.webServer/httpRedirect -name 'destination' -PSPath "IIS:\Sites\$SiteName"
Write-Host "$SiteName`t$($prop.value)"
}
}
有关完整的样本存档,请从How to list redirect destination URLs of IIS sites by PowerShell
下载