Помимо сортировки и фильтрации объектов Windows PowerShell допускает и их выделение с начала или конца конвейера, а также выбирать уникальные объекты в конвейере. Это относится и к свойствам объектов.
За данное действие отвечает командлет Select-Object. Если необходимо выделить несколько первых объектов, используйте параметр -First, для выделение последних объектов используется параметр -Last.
Как это работает на практике? Для примера выделим три процесса, которые сильнее всего загружают центральный процессор в системе.
Get-Process | Sort-Object CPU | Select-Object -Last 3
Как видим, в этом конвейере сначала производится вывод объектов (процессов), затем производится их сортировка по параметру CPU, после чего выделяются три последних процесса, которые потребляют больше всего ресурсов.
Теперь разберемся как выделение работает со свойствами объектов.
В данном случае после командлета Select-Object нам надо перечислить свойства, которые мы хотим видеть у объекта.
Get-Process | Select-Object CPU, ProcessName
Этот конвейер выдал нам список процессов и выделил нагрузку на ЦПУ и имена процессов.
Особенностью командлета Select-Object является то, что для выбора нужных свойств он копирует их из исходных объектов и создает новые с этими свойствами. Это нужно учитывать. В частности, это удобно при добавлении объекту новых свойств. Но об этом уже в другой раз. 🙂
Статьи по теме: