Параметр имени PowerShell Get-WebSite игнорируется
Я хочу получить информацию о конкретном веб-сайте IIS 7 с помощью командлета PowerShell Get-Website. К сожалению, Get-Website возвращает информацию для всех веб-сайтов, независимо от параметра -Name, который я передаю. Похоже, что параметр -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. Я должен неправильно понимать документацию или злоупотреблять командлетом или и то, и другое.
Как использовать Get-Website для возврата информации для определенного веб-сайта?
Ответы
Ответ 1
Согласно этот пост форума, это ошибка в командлете Get-Website. Обходной путь до этого заключается в использовании Get-Item.
$website = "Test"
Get-Item "IIS:\sites\$website"
Обязательно используйте двойные кавычки, переменные не разворачиваются при использовании одинарных кавычек.
Ответ 2
Я понимаю это более старое сообщение, но недавно столкнулся с этой проблемой и нашел ваш вопрос. Мне тоже повезло со следующим синтаксисом:
get-website | where { $_.Name -eq 'foobar' }
Ответ 3
Использование wild cards также обойдется в этой проблеме, как упоминалось в работе в теме подключения, на которую ссылается @Joey
get-website -name "*Default Web Site*"