С помощью Expression в Powershell можно создавать так называемые «вычисляемые свойства».
Глядя на используемый в нем знак @ можно догадаться что по своей сути Expression это просто хэш-таблица, для которой мы подменяем оригинальные свойства
Используя следующую конструкцию для командлета Select-Object можно изменить исходный заголовок свойства на абсолютно любой другой
1 |
Get-Process | select Id,@{Name="Programms";Expression={$_.ProcessName}} |
Или вот же более интересная функция — сложная обработка одного из параметров:
1 2 |
Get-LocalUser | select name,@{n="UserIsAdmin";` e={[bool](Get-LocalGroupMember $_.name -SID S-1-5-32-544)}} |
Кстати, если вы обратили внимание, служебные заголовки внутри нашего выражения можно сокращать до одной буквы
Таким образом, внутри выражения, вы можете выполнить обработку любой сложности