Вычисляемое свойство Select-Object из переменной - PullRequest
0 голосов
/ 08 апреля 2020

Мне известно, что мы можем указать разделенную запятыми строку [] свойств в переменной для параметра Select-Object -Property. Однако я пытаюсь включить вычисляемые свойства в эту переменную. Попытка добавить его, заключив их в одинарные кавычки / двойные кавычки, например,

  1. $selectProps = "distinguishedname", '@{n="lastlogontimestamp";e={[datetime]::FromFileTime($_.lastlogontimestamp).ToString()}}'

    и

  2. $selectProps = "distinguishedname","@{n=`"lastlogontimestamp`";e={[datetime]::FromFileTime(`$_.lastlogontimestamp).ToString()}}"

    но безрезультатно. Любая помощь будет высоко ценится.

1 Ответ

1 голос
/ 08 апреля 2020

Если вы помещаете строку в переменную, вы должны заключить ее в кавычки. Но поскольку хеш-таблица не является строкой, вам не нужно помещать ее в кавычки. ;-)

$selectProps = @(
    'distinguishedname',
    @{ Name = 'lastlogontimestamp'; Expression = { [datetime]::FromFileTime($_.lastlogontimestamp).ToString() } }
)

Это будет работать без переноса массива в @() ... это просто визуальная поддержка, чтобы сделать его более читабельным.

Если вы хотите добавить больше, чем один массив с вычисленными свойствами для вашей команды Select-Object, вы можете добавить их вместе, например, так:

Select-Object -Property ($SelectProps + $SelectProps2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...