PowerShell Format-List
last modified February 15, 2025
In this article, we will cover the Format-List
cmdlet in
PowerShell. This cmdlet formats command output as a list of properties.
Format-List basics
The Format-List
cmdlet displays output as a list of properties.
Each property appears on a new line with its value. This is useful for viewing
all properties of an object. The default table view often truncates information.
Basic Format-List usage
The simplest way to use Format-List
is by piping any cmdlet's
output to it. This displays all properties in a vertical list format. The
asterisk (*) wildcard shows all available properties.
Get-Process | Format-List *
This command retrieves all processes and displays their full properties. Each property appears on its own line for better readability.
Display specific properties
You can select specific properties to display with Format-List
.
This focuses on relevant information and reduces clutter. List the property
names separated by commas after the cmdlet.
Get-Process -Name "notepad" | Format-List Name, Id, CPU, StartTime
This command shows only the Name, ID, CPU usage, and StartTime of Notepad processes. The output is cleaner than showing all properties.
PS C:\> .\formatlist2.ps1 Name : notepad Id : 1234 CPU : 1.2345678 StartTime : 2/15/2025 10:30:45 AM
Formatting service information
Format-List
works well with service-related cmdlets too. It helps
display all configuration details of Windows services. This is useful for
troubleshooting service issues.
Get-Service -Name "WinRM" | Format-List *
This command shows all properties of the Windows Remote Management service. The output includes status, startup type, and dependencies.
Custom property display
You can create custom property displays using calculated properties. This allows formatting or combining values in the output. Use a hashtable with Name and Expression keys.
Get-Process | Format-List Name, @{Name="Memory(MB)";Expression={$_.WS/1MB}}
This command shows process names with working set memory converted to MB. The calculated property performs the conversion for better readability.
Formatting registry key information
Format-List
is excellent for displaying registry key details.
Registry keys often have many properties that don't fit well in tables.
This provides a comprehensive view of registry entries.
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion" | Format-List *
This command displays all properties of the Windows CurrentVersion registry key. The list format shows each value clearly.
Comparing with Format-Table
While Format-Table
is good for overviews, Format-List
provides detailed information. This example shows the difference between
the two formatting cmdlets for the same data.
# Table format (default) Get-Process -Name "powershell" # List format Get-Process -Name "powershell" | Format-List *
The first command shows basic process info in table format. The second command displays all available properties in an easy-to-read list.
Limiting output with -Property
The -Property
parameter offers an alternative syntax for selecting
properties. This can make scripts more readable when selecting many properties.
It functions the same as listing properties directly.
Get-Service | Format-List -Property DisplayName, Status, StartType
This command shows service display names, status, and startup types. The
-Property
parameter clearly indicates which fields are displayed.
Source
In this article, we have covered the Format-List cmdlet in PowerShell.
Author
List all PowerShell tutorials.