Как выбрать одно свойство из PowerShell Expandproperty

У меня есть простое выражение PowerShell, которое возвращает некоторые свойства объекта. Он также возвращает объект с именем Computer, у которого есть свойство с именем ComputerName, к которому я пытаюсь получить доступ. Переключатель ExpandProperty возвращает все свойства. Как мне отфильтровать его, чтобы вернуть нужные мне свойства?

Вот выражение:

foreach ($computer in $jobinstancestatus.Computers) {
    Select-Object -InputObject $computer -property Status,ResultsPath -ExpandProperty Computer
}

Я пробовал это, но это выдало ошибку, когда я попытался запустить его.

foreach ($computer in $jobinstancestatus.Computers) {
    Select-Object -InputObject $computer -property Status,ResultsPath (-ExpandProperty Computer).ComputerName
}

person bearaman    schedule 14.12.2017    source источник


Ответы (1)


Попробуйте это (внутри цикла):

Select-Object -InputObject $computer -property Status,ResultsPath,@{N='Computer_ComputerName';E={$_.Computer.ComputerName}}

Он использует «вычисляемое свойство», чтобы получить нужное вам значение.

person Mike Shepard    schedule 14.12.2017
comment
Хе... подумываю о создании PSObjects. Редактировать, чтобы исправить. Спасибо @AnsgarWiechers. - person Mike Shepard; 14.12.2017