как получить доступ к индексатору строк в коллекции в Powershell - PullRequest
1 голос
/ 14 декабря 2010

Медленно изучая 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 ]

1 голос
/ 15 декабря 2010

Вы также можете указать имя свойства через переменную:

$prop = 'some-property'
$result.$prop
0 голосов
/ 14 декабря 2010

Вам необходимо поместить фигурные скобки вокруг имени свойства, написанного через дефис. Это должно работать:

$item.{some-property}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...