Powershell Get-WebSite名称参数被忽略

Rya*_*lor 19 powershell iis-7 windows-7

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

例如,如果我使用:

Import-Module WebAdministration
Get-Website -Name "Test Website"
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

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

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

Rya*_*lor 26

根据此论坛帖子,这是Get-Website cmdlet中的一个错误.解决此问题的方法是使用Get-Item.

$website = "Test"
Get-Item "IIS:\sites\$website"
Run Code Online (Sandbox Code Playgroud)

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


小智 13

我意识到这是一个较旧的帖子,但我最近遇到了这个问题并找到了你的问题.我也运气了以下语法:

get-website | where { $_.Name -eq 'foobar' }
Run Code Online (Sandbox Code Playgroud)


Chr*_*son 7

使用通配符也可以解决这个问题,如@Joey引用的连接主题中的解决方法所述

get-website -name "*Default Web Site*"
Run Code Online (Sandbox Code Playgroud)