PowerShell 2.0和3.0的变量差异

时间:2016-12-28 12:12:14

标签: powershell iis powershell-v2.0 powershell-v3.0

我有一个针对一组网络服务器使用Invoke-Command的脚本。某些服务器安装了不同版本的PowerShell。我必须编写scriptblock,以便检查PowerShell版本并在检测到PowerShell 2.0安装时使用较旧的命令。不幸的是我对PowerShell 2.0并不是很熟悉......这就是我遇到的问题:

Import-Module WebAdministration    
$sites = Get-ChildItem IIS:\sites    

在PowerShell 3中我可以说$bindings = $sites.Bindings.Collection.BindingInformation(它将包含应用程序池的IP和端口)。但是,在PowerShell 2中,如果我尝试相同的操作,则调用$bindings不会返回任何内容。如果我在PowerShell 2中调用$sites,我仍会返回一个信息表,但$sites.Name例如不会返回任何内容。

修改

我找到了一种方法来获取我想要的数据:

$sites | select -Expand Bindings |
    select -Expand Collection |
    select -Expand BindingInformation     

有更好的方法吗?

0 个答案:

没有答案