我正在编写一个PowerShell脚本来执行IIS 7.5中的某些管理功能。
import-module WebAdministration
在某些情况下,我知道我想使用的Web应用程序的名称,但不知道它所在的网站。获取应用程序很容易:
$app = get-webapplication -name 'MyApp'
但我不知道如何获得网站的名称给定的应用程序。它似乎不是webapplication对象的属性。我能想到的最好的方法是尝试通过测试路径获取它:
get-website | where {test-path "iis:\sites\$_.name\MyApp"}
不知道为什么一无所获。有什么想法吗?先谢谢你。
4条答案
按热度按时间f0ofjuux1#
这就是你如何获得网站名称:
或者更短:
km0tfn4u2#
我还没有深入研究为什么,但是如果在字符串中的任何地方使用星号或问号,它就像通配符一样工作并返回。
即
或
9rnv2umw3#
试试这个
这将为您提供所有Web应用程序的名称,有时您可以为单个Web应用程序提供多个名称。
有关详细信息,请参阅链接
http://nisanthkv.blog.com/2012/07/06/name-of-web-applications-using-powershell/
希望有帮助。
raogr8fs4#
为什么这是如此复杂和令人费解?!
这应该是**工作:
$WebApplicationExists =(Get-WebApplication| Where-Object { $_.Name -eq $WebAppName }|测量-对象)。计数-gt 0
这个方法的作用是:
$WebApplicationExists =(Get-WebApplication -Name $WebAppName|测量-对象)。计数-gt 0
$PSVersionTable.PSVersion
主要和次要构建版本
电话:+86-10 - 8888888