Как использовать Powershell для получения сайтов HostHeader - PullRequest
2 голосов
/ 08 марта 2012

Я пытаюсь использовать powershell для извлечения заголовков узлов для любых установленных сайтов.После того, как у меня это получится, я хочу искать хосты только для веб-сайтов, использующих порт 80 и порт 443.

До сих пор я мог использовать

get-webbinding cmdlet

для получения некоторой информации с веб-сайта, но я не уверен, как использовать ее для запроса веб-сайтов на информацию о HostHeader.В выводе команды get-webbinding я вижу заголовки хоста как часть столбца bindingInformation, но не уверен, как просто получить информацию заголовка хоста.

Однако, когда я запрашиваю веб-сайт с помощью

get-webbinding -HostHeader (hostHeaderName)

, я получаю информацию обратно, поэтому я считаю, что есть способ использовать get-webbinding для запроса толькоинформация hostHeader.

Если есть другой способ получить эту информацию, пожалуйста, дайте мне знать.Мне тоже не повезло, пытаясь использовать

get-website

Ответы [ 2 ]

7 голосов
/ 09 марта 2012

Вам придется разделить bindingInformation на : и получить последнюю часть:

Get-WebBinding | select -expand bindingInformation | %{$_.split(':')[-1]}
3 голосов
/ 09 марта 2012

Это даст вам объект с двумя свойствами: Port и HostHeader (для каждой информации о привязке):

Get-WebBinding | Where-Object {$_.bindingInformation -match '80|443'} | ForEach-Object{

    $port,$hh = $_.bindingInformation.split(':')[1..2]

    New-Object PSObject -Property @{
        Port=$port
        HostHeader=$hh
    }
}
...