PowerShell довольно сильно помогает разработчику, но он не может читать мысли. Он не может самостоятельно определить, какой вид вывода вам нужен. Он предоставит свой лучший вариант с помощью формата по умолчанию, но решение о том, как вы хотите получить вывод, остается за вами. С помощью командлета PowerShell Format-Table вы можете настроить вывод по своему усмотрению.
PowerShell имеет систему форматирования, которая предоставляет формат вывода по умолчанию и позволяет изменять формат вывода в зависимости от типа объекта. Если вы не хотите изучать XML и способы всегда форматировать вывод в определенном формате, у вас также есть командлеты, такие как Powershell format-table, Format-List
и Format-Wide
. Файл PS1XML на файловой системе или использование любого из командлетов форматирования отобразит вывод в различных форматах.
Без использования специального форматирования PowerShell, по умолчанию, использует свой формат. Когда возвращается конкретный объект, вы, вероятно, увидите только ограниченную часть его содержимого. Например, просто просматривая одну папку, вы увидите только родительский каталог и несколько атрибутов.
Однако, если передать эту же команду в Select-Object -Property *
, посмотрите, что произойдет.
PowerShell скрывает множество свойств объекта, потому что обычно вам не нужно видеть всю эту информацию. PowerShell предоставляет вид по умолчанию, но это не означает, что это ваш единственный вариант. Мы можем изменить этот вид с помощью командлета форматирования.
Самый популярный командлет форматирования — это Format-Table
. Согласно справке PowerShell:
Командлет Format-Table форматирует вывод команды в виде таблицы с выбранными свойствами объекта в каждом столбце. Тип объекта определяет форматирование по умолчанию и свойства, отображаемые в каждом столбце, но вы можете использовать параметр Property для выбора свойств, которые вы хотите видеть.
Вы также можете использовать хэш-таблицу для добавления вычисляемых свойств к объекту перед его отображением и для указания заголовков столбцов в таблице. Чтобы добавить вычисляемое свойство, используйте параметр Property или GroupBy.
Использование командлета Format-Table PowerShell и Select-Object
для выбора отдельных свойств объекта кажется одинаковым, пока значения свойств не превысят ширину текущей консоли. Но как только вы попытаетесь отобразить много объектов, вы увидите, что Format-Table
остается в формате таблицы, в то время как Select-Object
возвращает отображение свойств на каждой строке.
Вывод командлета Format-Table PowerShell всегда пытается отобразить информацию в виде таблицы. Если значения свойств слишком длинные для отображения, он заменит отсутствующий текст многоточием, чтобы указать, что доступна дополнительная информация, но просто не отображается.
Format-Table
cmdlet имеет много различных способов обработки вывода. Ознакомьтесь с полной документацией по Format-Table
на сайте Microsoft docs.
Source:
https://adamtheautomator.com/powershell-format-table/