PowerShell + WebAdministration - How to get website from webapplication?

自古美人都是妖i 提交于 2019-12-01 14:43:55

问题


I'm writing a PowerShell script to perform certain administrative functions in IIS 7.5.

import-module WebAdministration

In some cases I know the name of the web application I want to work with but not the web site it is under. Getting the application is easy:

$app = get-webapplication -name 'MyApp'

But I cannot figure out how to get the name of the web site given the app. It doesn't seem to be a property off the webapplication object. Best I could come up with was trying to get it via test-path:

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

For some reason that comes up empty. Any thoughts on how to go about this? Thanks in advance.


回答1:


This is how you can get the site name:

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

Or even shorter:

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



回答2:


I haven't dug into why, but if you use an asterisk or question mark anywhere in the string it works like a wildcard and returns as such.

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

or

get-website -name '?myapp'

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



回答3:


Try this

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

This will give you all the names of the Web Applications, sometimes you can have more than 1 name for a single Web Applications.

For more information see the link

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

Hope it helps..



来源:https://stackoverflow.com/questions/7504027/powershell-webadministration-how-to-get-website-from-webapplication

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!