如何使用Powershell获取网站HostHeader

时间:2012-03-08 19:39:25

标签: powershell web iis-7.5 powershell-v2.0

我正在尝试使用powershell为所安装的任何网站提取主机。一旦我知道了这一点,我想专门针对使用端口80和端口443的网站寻找hostHeaders。

到目前为止,我能够使用

get-webbinding cmdlet

从网站上提取一些信息,但我不确定如何使用它来查询网站上的HostHeader信息。在get-webbinding命令的输出中,我将主机头视为bindingInformation列的一部分,但我不确定如何获取主机头信息。

但是当我通过

查询网站时

get-webbinding -HostHeader (hostHeaderName)

我收到信息,所以我相信有一种方法可以使用get-webbinding来查询hostHeader信息。

如果有其他方法可以获取此信息,请告诉我们。我也没有运气试图使用

get-website

2 个答案:

答案 0 :(得分:7)

您必须在bindingInformation上拆分:并获取最后一部分:

Get-WebBinding | select -expand bindingInformation | %{$_.split(':')[-1]}

答案 1 :(得分:3)

这将为您提供一个具有两个属性的对象: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
    }
}