Powershell Get-WebSite名称参数被忽略

时间:2010-11-13 02:00:06

标签: iis-7 windows-7 powershell

我想使用PowerShell Get-Website cmdlet检索有关特定IIS 7网站的信息。不幸的是,无论我传入的-Name参数如何,Get-Website都会返回所有网站的信息。似乎忽略了-Name参数。

例如,如果我使用:

Import-Module WebAdministration
Get-Website -Name "Test Website"

我会收到我机器上所有网站的信息:

Name             ID   State      Physical Path                  Bindings
----             --   -----      -------------                  --------
Default Web Site 1    Started    %SystemDrive%\inetpub\wwwroot  http *:80:
                                                                net.tcp 808:*
                                                                net.pipe *
                                                                net.msmq localhost
                                                                msmq.formatname localhost
Test Website     2    Started    C:\websites\test               http *:80:test.mydomain.com

根据文档,Get-Website应返回-Name参数中指定的网站的信息。我必须误解文档或滥用cmdlet,或两者兼而有之。

我应该如何使用Get-Website返回特定网站的信息?

3 个答案:

答案 0 :(得分:26)

根据this forum post,这是Get-Website cmdlet中的错误。解决此问题的方法是使用Get-Item。

$website = "Test"
Get-Item "IIS:\sites\$website"

请务必使用双引号,使用单引号时不会展开变量。

答案 1 :(得分:13)

我意识到这是一篇较老的帖子,但我最近遇到了这个问题并找到了你的问题。我也很幸运使用以下语法:

get-website | where { $_.Name -eq 'foobar' }

答案 2 :(得分:7)

使用通配符也可以解决这个问题,如@Joey引用的连接主题中提到的那样

get-website -name "*Default Web Site*"