2017-06-20 11 views
3

IIS 8.5で複数のリダイレクトサイトが構成されており、それらをすべて一覧にしたいとします。私が試した:リダイレクト先(URL)IISサイト

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

が、ワイルドカードはappcmdで正常に動作していません。私はまた、WebAdministrationモジュールから試してみました:

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

が、これはまた、サイト&先

答えて

4

このスニペットはあなたのサイト名を与えると、2列のリストがある...私は必要なものを提供していません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 
+0

素晴らしいからダウンロードしてください - 感謝を! –

+0

こんにちは - 私はこの答えに感謝しながら、私は長い間それを使用してきました。 1000バイト以上のリダイレクトを持つサーバーに対してこの小さなコードを実行すると、OOMエラーが発生し始めています。任意のアイデアをどのようにOOMエラーを取得しないように改善するには? @ abhijith-pk –

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

関連する問題