Как получить свойство объекта в powershell без использования скобок?

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

пример

Если у меня есть следующие команды

Get-PSProvider FileSystem

и я хочу получить Drives свойство, я должен был бы окружить всю команду в скобках сначала:

(Get-PSProvider FileSystem).Drives

есть ли более быстрый способ получить значение одного свойства?

13
задан brianpeiris
15.04.2023 21:21 Количество просмотров материала 3139
Распечатать страницу

1 ответ

можно использовать Select-Object -ExpandProperty <property name>. Это можно сократить, используя псевдоним select и только часть имени свойства:

Get-PSProvider FileSystem| select -exp Drives

дополнительным преимуществом этого метода является возможность доступа к одному свойству для нескольких объектов.

это ничего не вернет (обновление: это работает в PowerShell v3.):

(Get-PSProvider).Drives

однако, это вернет диски для всех провайдеров:

Get-PSProvider| select -exp Drives
14
отвечен Rynant 2023-04-17 05:09

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх