Поиск по сайту:

Format-List (Microsoft.PowerShell.Utility)


Format-List

Модуль:
Microsoft.PowerShell.Utility

Форматирует выходные данные как список свойств, в котором каждое свойство отображается на новой строке.

Синтаксис

Format-List
      [[-Property] <Object[]>]
      [-GroupBy <Object>]
      [-View <string>]
      [-ShowError]
      [-DisplayError]
      [-Force]
      [-Expand <string>]
      [-InputObject <psobject>]
      [<CommonParameters>]

Описание

Командлет Format-List форматирует выходные данные команды как список свойств, в котором каждое свойство отображается в отдельной строке. Вы можете использовать Format-List для форматирования и отображения всех или выбранных свойств объекта в виде списка (Format-List -Property *).

Поскольку для каждого элемента в списке доступно больше места, чем в таблице, PowerShell отображает больше свойств объекта в списке, и значения свойств с меньшей вероятностью будут усечены.

Примеры

Пример 1. Форматирование компьютерных служб

Get-Service | Format-List

Эта команда форматирует информацию о службах на компьютере в виде списка. По умолчанию сервисы отформатированы в виде таблицы. Командлет Get-Service получает объекты, представляющие службы на компьютере. Оператор конвейера (|) передает результаты через конвейер в Format-List. Затем команда Format-List форматирует информацию о службе в виде списка и отправляет ее в командлет вывода по умолчанию для отображения.

Пример 2. Форматирование файлов PS1XML.

Эти команды отображают информацию о файлах PS1XML в каталоге PowerShell в виде списка.

$A = Get-ChildItem $pshome\*.ps1xml
Format-List -InputObject $A

Первая команда получает объекты, представляющие файлы, и сохраняет их в переменной $A.

Вторая команда использует Format-List для форматирования информации об объектах, хранящихся в $A. Эта команда использует параметр InputObject для передачи переменной в Format-List, который затем отправляет форматированный вывод в командлет вывода по умолчанию для отображения.

Пример 3. Форматирование свойств процесса по имени

Эта команда отображает имя, базовый приоритет и класс приоритета каждого процесса на компьютере.

Get-Process | Format-List -Property Name, BasePriority, PriorityClass

Он использует командлет Get-Process для получения объекта, представляющего каждый процесс. Оператор конвейера (|) передает объекты процесса через конвейер в Format-List. Format-List форматирует процессы как список указанных свойств. Имя параметра Property не является обязательным, поэтому его можно опустить.

Пример 4. Форматирование всех свойств процесса

Эта команда отображает все свойства процесса Winlogon.

Get-Process winlogon | Format-List -Property *

Он использует командлет Get-Process для получения объекта, представляющего процесс Winlogon. Оператор конвейера (|) передает объект процесса Winlogon через конвейер в Format-List. Команда использует параметр Property для указания свойств и * для указания всех свойств. Поскольку имя параметра Property является необязательным, его можно опустить и ввести команду как Format-List *. Format-List автоматически отправляет результаты в командлет вывода по умолчанию для отображения.

Пример 5. Устранение ошибок формата

В следующих примерах показаны результаты добавления параметров DisplayError или ShowError к выражению.

PC /> Get-Date | Format-List DayOfWeek,{ $_ / $null } -DisplayError

DayOfWeek    : Friday
 $_ / $null  : #ERR

PC /> Get-Date | Format-List DayOfWeek,{ $_ / $null } -ShowError

DayOfWeek    : Friday
 $_ / $null  :

Failed to evaluate expression " $_ / $null ".
+ CategoryInfo          : InvalidArgument: (12/21/2018 7:59:23 AM:PSObject) [], RuntimeException
+ FullyQualifiedErrorId : PSPropertyExpressionError

Параметры

-DisplayError

Указывает, что этот командлет отображает ошибки в командной строке. Этот параметр используется редко, но его можно использовать в качестве средства отладки, когда вы форматируете выражения в команде Format-List, и выражения не работают.

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Expand

Указывает форматированный объект коллекции, а также объекты в коллекции. Этот параметр предназначен для форматирования объектов, поддерживающих интерфейс System.Collections.ICollection. Значение по умолчанию — EnumOnly. Допустимые значения этого параметра:

  • EnumOnly. Отображает свойства объектов в коллекции.
  • Только ядро. Отображает свойства объекта коллекции.
  • Оба. Отображает свойства объекта коллекции и свойства объектов в коллекции.
Тип :

String

Принятые значения:

CoreOnly, EnumOnly, оба

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Force

Указывает, что этот командлет отображает всю информацию об ошибках. Используйте с параметром DisplayError или ShowError. По умолчанию, когда объект ошибки записывается в поток ошибок или отображения, отображается только некоторая информация об ошибке.

Также требуется при форматировании определенных типов .NET. Дополнительную информацию смотрите в разделе «Примечания».

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-GroupBy

Определяет выходные данные в группах на основе общего свойства или значения. Введите выражение или свойство вывода.

Значение параметра GroupBy может быть новым вычисляемым свойством. Вычисляемое свойство может быть блоком скрипта или хеш-таблицей. Допустимые пары ключ-значение:

  • Имя (или Метка) — <string>
  • Выражение - <string> или <script; block>
  • FormatString - <string>

Дополнительные сведения см. в разделе about_Calculated_Properties.

Тип :

Объект

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-InputObject

Указывает объекты для форматирования. Введите переменную, содержащую объекты, или введите команду или выражение, позволяющее получить объекты.

Тип :

PSОбъект

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

True

Принимайте подстановочные знаки:

False

-Property

Указывает свойства объекта, отображаемые на экране, и порядок их появления. Подстановочные знаки разрешены.

Если вы опустите этот параметр, свойства, отображаемые на дисплее, будут зависеть от отображаемого объекта. Имя параметра Свойство является необязательным. Вы не можете использовать параметры Property и View в одной команде.

Значение параметра Property может быть новым вычисляемым свойством. Вычисляемое свойство может быть блоком скрипта или хеш-таблицей. Допустимые пары ключ-значение:

  • Имя (или Метка) — <string>
  • Выражение - <string> или <script; block>
  • FormatString - <string>

Дополнительные сведения см. в разделе about_Calculated_Properties.

Тип :

Object[]

Позиция:

0

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

True

-ShowError

Указывает, что командлет отправляет ошибки через конвейер. Этот параметр используется редко, но его можно использовать в качестве средства отладки, когда вы форматируете выражения в команде Format-List, и выражения не работают.

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-View

Указывает имя альтернативного формата списка или представления. Вы не можете использовать параметры Property и View в одной команде.

Тип :

String

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

Входы

PSObject

В этот командлет можно передать любой объект.

Выходы

Microsoft.PowerShell.Commands.Internal.Format

Этот командлет возвращает объекты формата, представляющие список.

Примечания

PowerShell включает следующие псевдонимы для Format-List:

  • Все платформы:

      fl

Командлеты форматирования, такие как Format-List, упорядочивают отображаемые данные, но не отображают их. Данные отображаются с помощью функций вывода PowerShell и командлетов, содержащих глагол Out (командлеты Out), таких как Out-Host или Исходящий файл.

Если вы не используете командлет форматирования, PowerShell применяет этот формат по умолчанию для каждого отображаемого объекта.

Параметр GroupBy предполагает, что объекты отсортированы. Используйте Sort-Object перед использованием Format-List для группировки объектов.

Параметр View позволяет указать альтернативный формат таблицы. Вы можете использовать представления, определенные в файлах *.format.PS1XML в каталоге PowerShell, или создавать свои собственные представления в новых файлах PS1XML и использовать Update-FormatData. командлет, чтобы включить их в PowerShell.

Альтернативное представление для параметра View должно использовать формат списка, иначе команда завершится неудачно. Если альтернативное представление представляет собой таблицу, используйте Format-Table. Если альтернативное представление не является списком или таблицей, используйте Format-Custom.

Если вы хотите использовать Format-List с параметром Property, вам необходимо включить параметр Force при любом из следующих условий:

  • Входные объекты форматируются вне диапазона с помощью метода ToString(). Это относится к примитивным типам [string] и .NET, которые являются надмножеством встроенных числовых типов, таких как [int], [long] и другие.

  • Входные объекты не имеют общедоступных свойств.

  • Входные объекты — это экземпляры типов-оболочек, которые PowerShell использует для выходных потоков, отличных от выходного потока Success. Это применимо только тогда, когда эти типы оболочек отправляются в поток вывода Success, для чего необходимо либо сначала захватить их с помощью общих параметров, таких как ErrorVariable, либо использовать перенаправление, например *>&1.

    • Типы оберток включают в себя:

      • System.Management.Automation.ErrorRecord
      • System.Management.Automation.WarningRecord
      • System.Management.Automation.VerboseRecord
      • System.Management.Automation.DebugRecord
      • System.Management.Automation.InformationRecord