Powershell FL это алиас с Format-List. Все значения выводятся с новой строчки. Является противоположным значением Format-Table, который описывался здесь. Различия хорошо видны на картинке:
Какие-то команды выводят результат сразу в виде Format-List, какие-то в Format-Table. Если мы хотим вывести сразу все данные с команды, т.к. они выводятся не все, то можно сделать так:
Get-NetIPAddress | fl -Property *
Форматирование вывода через Powershell fl
Если нам нужны конкретные свойства объектов (результатов вывода команд), а не все, мы можем вывести только их. Для этого нам нужно получить все свойства. На примере командлета Get-NetIPAddress:
Get-NetIPAddress | Get-Member
Все имена с типом Property - это свойства которые мы можем вывести. Для примера выведем только IP адреса:
Get-NetIPAddress | fl -Property IPAddress
GroupBy в powershell группирует вывод по определенному полю. В моем случае ipv4 и ipv6 адреса будут разделены:
Get-NetIPAddress | Format-List -GroupBy AddressFamily
Если нужно отсортировать вывод, то это делается отдельным командлетом:
Get-NetIPAddress | Sort-Object | Format-List -GroupBy AddressFamily
Добавление строк через Powershell fl
Мы можем добавить новую строку если в этом есть необходимость:
Get-Service | fl -Property Name, @{Label = "Отключенн"; Expression={$_.Status -eq "Disabled" }}
Или на примере процессов. Я перевел вывод из байт в Мб и сгруппировал что бы увидеть копии процессов:
Get-Process | Format-List Name,@{Label = "Физ.память(МБ)"; Expression = {($_.ws / 1024kb)}} -GroupBy Name
Фильтрация через Powershell fl
Через командлеты форматирования отфильтровать результат мы не можем, но возможно использовать в связке с where. На моем примере я отфильтровал все правила файервола и выбрал только разрешающие. Отсортировал для того что бы потом можно было нормально сгруппировать по направлению правила (Внутрь или снаружу).
Get-NetFirewallRule | Where-Object -Property Action -EQ "Allow" |
Sort-Object -Property Direction | Format-List -Property Name -GroupBy Direction
...
Подписывайтесь на наш Telegram канал
Теги: #powershell