Оптимизация производительности при использовании Select-Object в PowerShell заключается в том, что командлет не позволяет командам создавать и обрабатывать объекты, которые не используются. 23
При добавлении Select-Object команды с параметрами First или Index в командный конвейер PowerShell останавливает команду, которая создаёт объекты, сразу после создания выбранного числа объектов, даже если команда, создающая объекты, отображается перед Select-Object командой в конвейере. 2
Чтобы отключить эту функцию оптимизации, используется параметр Wait. 2
Функция оптимизации Select-Object доступна только для команд, которые записывают объекты в конвейер по мере их обработки. 2 Она не действует для команд, которые буферизуют обработанные объекты и записывают их в виде коллекции. 2