2011-09-21 17 views
9

Piszę skrypt PowerShell, aby wykonać pewne funkcje administracyjne w IIS 7.5.PowerShell + WebAdministration - Jak uzyskać stronę internetową z aplikacji web?

import-module WebAdministration 

W niektórych przypadkach znam nazwę aplikacji internetowej, z którą chcę pracować, ale nie strony internetowej, na której się znajduje. Uzyskanie aplikacji jest proste:

$app = get-webapplication -name 'MyApp' 

Ale nie mogę wymyślić, jak uzyskać nazwę strony internetowej biorąc pod uwagę aplikację. Nie wydaje się być właściwością poza obiektem webapplication. Najlepsze, co mogłem wymyślić, to próba przejścia przez ścieżkę testową:

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

Z jakiegoś powodu, który pojawia się pusty. Wszelkie przemyślenia na temat tego, jak sobie z tym poradzić? Z góry dziękuję.

Odpowiedz

13

W ten sposób można uzyskać Nazwa strony:

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

Albo jeszcze krócej:

$siteName = (Get-WebApplication -name 'YourApp').GetParentElement()['name'] 
+0

bingo. jesteś bohaterem. –

3

ja nie wbiły się dlaczego, ale jeśli używasz gwiazdkę lub znak zapytania wszędzie w ciągu znaków działa jak symbol wieloznaczny i zwraca się jako taki.

I.E.

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 

lub

get-website -name '?myapp' 

Name ID State Physical Path Bindings 
---- -- ----- ------------- -------- 
amyapp 13 Stopped C:\anetpub http:*:81: 
Powiązane problemy