Format List - PowerShell


Overview

Format-List is a PowerShell command used to display the properties of objects in a formatted list, making them easier to read and understand. It’s commonly used for troubleshooting, debugging, and getting information about objects in scripts or interactive PowerShell sessions.

Syntax

Format-List [-Property] <String[]> [[-Depth] <Int32>] [[-Force] <SwitchParameter>] [-Member] <String[]> [-ShowSelectedOnly] [-ShowRelevantOnly] [-SortByProperty] <String[]> [{-Newline <String>} | {-NextLine}]

Options/Flags

  • -Property: Specifies the property or properties to display in the list. Defaults to all properties of the object.
  • -Depth: Controls the level of recursion when displaying nested properties. Defaults to 1 (top-level properties only).
  • -Force: Forces the command to display properties even if the object doesn’t have them.
  • -Member: Alias for -Property.
  • -ShowSelectedOnly: Displays only the properties selected using -Property.
  • -ShowRelevantOnly: Filters the properties to display only those that are relevant to the current context.
  • -SortByProperty: Sorts the properties in ascending order by the specified property or properties.
  • -Newline: Specifies the line break character to use. Defaults to “n”.
  • -NextLine: Outputs each property-value pair on a new line.

Examples

Example 1: Display all properties of an object:

Format-List $myObject

Example 2: Display specified properties of an object:

Format-List -Property Name, Size, Modified $myObject

Example 3: Display nested properties:

Format-List -Depth 3 $myObject

Example 4: Force display of properties not present:

Format-List -Force $myObject

Common Issues

  • Using incorrect property names can result in empty or inaccurate output.
  • Deeply nested properties can make the output unwieldy. Use -Depth to control the level of recursion.
  • Using -Force indiscriminately can lead to irrelevant or misleading output.

Integration

Format-List can be combined with other PowerShell commands for advanced tasks:

  • Use it with Get-Member to get information about the properties of an object.
  • Combine it with Where-Object to filter properties based on certain criteria.
  • Use it with ConvertTo-Json to export the formatted list as JSON.
  • Get-Member: Gets information about the members (properties, methods, etc.) of an object.
  • Select-Object: Selects specific properties from an object.