PowerShell Format-List [Tutorial With Examples]

Do you want to format the output from a PowerShell cmdlet? The answer is the PowerShell’s Format-List cmdlet.

With Format-List, you can transform complex output into a clean, readable list that highlights every property you care about. In this tutorial, I will explain exactly how to use Format-List in PowerShell with practical, real-world examples.

What is PowerShell Format-List?

Format-List is a PowerShell cmdlet that displays output as a list of properties, with each property on its own line. Unlike the default table format, which can truncate or hide information, Format-List ensures you see every detail, making it ideal for troubleshooting, auditing, or reporting.

Check out PowerShell Select-String -AllMatches Examples

Basic Usage of Format-List

Let’s start with the basics. Suppose you want to view details about a local user named fewli on a Windows Server.

First, I’ll explain the command:
By piping the output of a cmdlet (like Get-LocalUser) to Format-List, you display each property on a new line, making the data much easier to read.

Get-LocalUser -Name "fewli" | Format-List

This command gives you a full breakdown of the user’s properties, such as Name, Enabled status, and LastLogon, all neatly formatted for easy review.

You can see the exact output in the screenshot below:

PowerShell Format-List

Read How to List Installed PowerShell Modules

Use Format-List With Selected Specific Properties

Sometimes, you don’t need every property—just the essentials. Here’s how you can specify which details to display:

Before the code:
Use the -Property parameter to list only the fields you care about. This keeps your output focused and uncluttered.

Get-LocalUser -Name "fewli" | Format-List -Property Name,Enabled,LastLogon

After the code:
This command lists only the Name, Enabled status, and LastLogon for JaneDoeNYC, making it perfect for quick checks or reports.

You can see the exact output in the screenshot below:

Format-List PowerShell

Check out Is PowerShell a Programming Language?

View All Properties with Wildcard with Format-List

When I’m troubleshooting, I often want to see every single property an object has.
You can use the wildcard * to display all properties—no need to guess what’s available.

Get-Process -Name "notepad" | Format-List -Property *

This is especially useful for unfamiliar objects, ensuring you don’t miss any hidden details in the output.

Format Multiple Objects using Format-List

If you want to list properties for several items—say, all disabled users in your Active Directory—Format-List works just as well.

Before the code:
Pipe the results of a filter command to Format-List for a detailed list of each object.

Get-ADUser -Filter {Enabled -eq $false} -SearchBase "OU=USA,DC=corp,DC=com" | Format-List Name,Enabled,Department

After the code:
Now, every disabled user in your organizational unit is displayed with their Name, Enabled status, and Department.

Read PowerShell Regex

PowerShell Format-List Without Header

By default, Format-List does not show column headers like Format-Table does. Each property is simply displayed on its own line as PropertyName : Value. However, if you want to remove even the property names (for a truly headerless output), you’ll need to output just the values.

If your goal is to display only the values—without property names or headers—you can use Select-Object with the -ExpandProperty parameter. This extracts only the values of the specified property.

Get-LocalUser -Name "JohnSmithUSA" | Select-Object -ExpandProperty Name

This command will output just:

JohnSmithUSA

Why This Works

Select-Object -ExpandProperty outputs only the value of the property, so you get no headers, no property names—just the raw data. This is useful for generating simple lists or outputs for further processing.

If you want to output multiple properties as a list without headers, you can expand each property:

$user = Get-LocalUser -Name "JohnSmithUSA"
$user | Select-Object -ExpandProperty Name
$user | Select-Object -ExpandProperty Enabled
$user | Select-Object -ExpandProperty LastLogon

This will output:

JohnSmithUSA
True
6/27/2025 2:15:43 PM

This approach is especially handy when you need clean, headerless output for scripts or integrations.

Conclusion

In this tutorial, I explained how to use the Format-List PowerShell cmdlet with various examples. I also provided an example of PowerShell Format-List without header.

You may also like the following tutorials:

100 PowerShell cmdlets download free

100 POWERSHELL CMDLETS E-BOOK

FREE Download an eBook that contains 100 PowerShell cmdlets with complete script and examples.