Поделиться через


Format-List

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

Синтаксис

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 *

Для получения объекта, представляющего процесс Winlogon, используется командлет Get-Process. Оператор конвейера (|) передает объект процесса 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 в команде, а выражения не работают.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Expand

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

  • EnumOnly. отображаются свойства объектов в коллекции.
  • CoreOnly. отображаются свойства объекта коллекции.
  • Both. отображаются свойства объекта коллекции и свойства объектов, содержащихся в коллекции.
Type:String
Accepted values:CoreOnly, EnumOnly, Both
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-GroupBy

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

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

  • Name (или Label) - <string>
  • Expression - <string> или <script block>
  • FormatString - <string>

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

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

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

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Property

Задает свойства объекта, которые будут включены в вывод, и порядок их вывода. Разрешено использовать подстановочные знаки.

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

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

  • Name (или Label) - <string>
  • Expression - <string> или <script block>
  • FormatString - <string>

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

Type:Object[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-ShowError

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-View

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

PSObject

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

Выходные данные

Microsoft.PowerShell.Commands.Internal.Format

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

Примечания

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

  • Для всех платформ.
    • fl

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

Если командлет format не используется, 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 first, либо использовать перенаправление, *>&1например .