2017-06-15 45 views
1
使用数组/ GetWebVirtualDirectory工作

我是新来的PowerShell,所以我得到了这么远在PowerShell中

$sites = Get-Website 
$OrderSite = $sites | Where Name -eq 'SiteName' 
$directories = Get-WebVirtualDirectory -Site $OrderSite.Name 

这样$directories看起来像

Name    Physical Path 
----    ------------- 
Profile   C:\Path1 
WebMain   C:\Path1 

现在我坚持

$directories[0] = 

Name    Physical Path 
----    ------------- 
Profile   C:\Path1 

$directories[0].Name$directories[0]["Name"]$directories |Where Name -eq 'Profile',$directories |Where Name -like 'P*'$directories | ForEach {$_.Name }均为空

然而,$directories | ForEach {$_ }$directories |Where Name -like '*'

返回的完整列表。

那么过滤或访问属性的正确方法是什么名称或如何验证我的数组真实名称或属性是什么?

+1

什么'$目录。 GetType()'或'$ directories | Get-Member'返回? – gms0ulman

+0

'$ directories |选择名称' – Moerwald

+1

'GetType()'返回Object [] System.Array的BaseType,'Get-Member'返回TypeName:Microsoft.IIs.PowerShell.Framework.ConfigurationElement#application#virtualDirectory – Mike

回答

1

不幸的是我不能在我的电脑上测试这个不是IIS Provider

我相信,这将让你你以后,基于什么作品和不起作用的问题:

$directories | Where-Object {Path -eq 'Profile'} 

Where-Object预计声明{...}

+0

这也返回空字段的名称似乎是路径,即使列标题说的名称也是'Where path -eq'..也路径以未显示的'\'开始在名称列中...所以将其改为路径,我将标记答案,因为您的评论引导我朝着正确的方向 – Mike

+0

@Mike huh,好的。编辑 - 现在看到您的评论,很高兴听到它的排序!你可以发布你的答案并接受它,以防其他人有同样的问题:-) – gms0ulman