如何在Powershell中访问集合上的字符串索引器

时间:2010-12-14 20:11:01

标签: powershell

慢慢学习Powershell ......我正在编写一个脚本来查询第三方AD / AM数据库(ldap)。我想要的特定LDAP属性名称在名称中有一个连字符。

我可以在不考虑它的情况下在c#中执行此操作,但我不想激发Visual Studio只是为了做一些经常更改的简单脚本。

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
.....
$results = $objSearcher.FindAll()
foreach($result in $results) { 
   $item = $result.Properties
   $item.some-property         # this fails because of '-' 
   $result['some-property']    # 'Unable to index into an object of type System.DirectoryServices.SearchResult.'
}

2 个答案:

答案 0 :(得分:1)

您还可以通过变量指定属性名称:

$prop = 'some-property'
$result.$prop

答案 1 :(得分:0)

您需要在带连字符的属性名称周围放置花括号。这应该有效:

$item.{some-property}