PowerShell + WebAdministration - Как получить веб-сайт из веб-приложения? - PullRequest
9 голосов
/ 21 сентября 2011

Я пишу сценарий PowerShell для выполнения определенных функций администрирования в IIS 7.5.

import-module WebAdministration

В некоторых случаях я знаю название веб-приложения, с которым я хочу работать, но не знаю его веб-сайт.находится под.Получить приложение очень просто:

$app = get-webapplication -name 'MyApp'

Но я не могу понять, как получить название веб-сайта для данного приложения.Это не похоже на свойство объекта webapplication.Лучшее, что я мог придумать, - это попытаться получить его по тестовой дорожке:

get-website | where {test-path "iis:\sites\$_.name\MyApp"}

По какой-то причине, которая выходит пустой.Есть мысли о том, как это сделать?Заранее спасибо.

Ответы [ 3 ]

17 голосов
/ 21 сентября 2011

Вот как вы можете получить название сайта:

$siteName = (Get-WebApplication -name 'YourApp').GetParentElement().Attributes['name'].Value

Или даже короче:

$siteName = (Get-WebApplication -name 'YourApp').GetParentElement()['name']
4 голосов
/ 06 июля 2012

Попробуйте это

$app = get-webapplication -name 'MyApp'
foreach($a in $app)
{
$a.Attributes[0].Value;
}

Это даст вам все имена веб-приложений, иногда вы можете иметь более одного имени для одного веб-приложения.

Для получения дополнительной информации см. Ссылку

http://nisanthkv.blog.com/2012/07/06/name-of-web-applications-using-powershell/

Надеюсь, это поможет ..

4 голосов
/ 31 марта 2012

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

И.Е.

get-website -name '*myapp'

   Name      ID   State    Physical Path        Bindings
   ----      --   -----    -------------        --------

   myapp     12   Started  C:\inetpub\wwwroot   http:*:80:
  amyapp     13   Stopped  C:\anetpub\          http:*:81:
 aamyapp     14   Stopped  C:\another\place     http:172.198.1.2:80:host.header.com

или

get-website -name '?myapp'

Name   ID State   Physical Path Bindings
----   -- -----   ------------- --------
amyapp 13 Stopped C:\anetpub    http:*:81:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...