Закрыть - ниже работает правильно, но мне было бы интересно, если у кого-нибудь есть более глубокое объяснение.
PS C:\> $computers[0] | %{ "$_.properties.name"; "$($_.properties.name)" }
System.DirectoryServices.SearchResult.properties.name
GORILLA
Так что может показаться, что $ _. Properties.name не так, как я ожидал. Если я правильно визуализирую, тот факт, что свойство name является многозначным, заставляет его возвращать массив. Что (я думаю) объяснит, почему работает следующее:
$computers[0] | %{ $_.properties.name[0]}
Если «имя» было строкой, это должно вернуть первый символ, но, поскольку это массив, оно возвращает первую строку.