列出重定向目标(URL)IIS站点

时间:2017-06-20 11:13:53

标签: powershell iis appcmd web-administration

我在IIS 8.5中配置了多个重定向站点,我想将它们全部列出。我试过了:

.\appcmd.exe list site * -section:system.webServer/httpRedirect

但是通配符与appcmd无法正常工作。我也试过WebAdministration模块:

Get-WebConfiguration system.webServer/httpRedirect * | Get-Member destination

但这也没有提供我需要的东西......这是一个包含2列网站和列表的列表目的地

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

下载