---
title: "PowerShell Format-Table: Organize Output in Columns"
description: "Master PowerShell Format-Table, a cmdlet for formatting command output as a table with selected object properties."
canonical: "https://adamtheautomator.com/powershell-format-table/"
---

# PowerShell Format-Table: Organize Output in Columns

> Master PowerShell Format-Table, a cmdlet for formatting command output as a table with selected object properties.

Source: https://adamtheautomator.com/powershell-format-table/

---

ATA Learning

Tap to hide

[

ATA Learning

](/)

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Search for:  

*   [](https://twitter.com/adbertram)
*   [](https://github.com/Adam-the-Automator)
*   [](https://www.linkedin.com/company/adam-the-automator-llc)
*   [](/feed/)

![PowerShell Format-Table: Organize Output in Columns](https://adamtheautomator.com/wp-content/uploads/2019/06/5d238ae5c824b514689ea546.jpg)

# PowerShell Format-Table: Organize Output in Columns

[![](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)Adam Bertram](https://adamtheautomator.com/author/adam-bertram/)18 June 20192 min. read

Categories: [IT Ops](/category/it-ops/)

Tags:[PowerShell](/tag/powershell/)

PowerShell holds a developer’s hand quite a bit, but it can’t read your mind. It can’t inherently know what kind of output you’re looking for. It will provide its best guess via a default format, but it’s up to you to ultimately decide how you’d like output returned. Using PowerShell Format-Table cmdlet, you tweak the output to your liking.

Not a reader? Watch this related video tutorial!

**_Not seeing the video? Make sure your ad blocker is disabled._**

PowerShell has a [formatting system](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-5.1) that has default output and the ability to change how output is formatted on an object type basis. If you’d rather not learn about XML and how to always format output in a specific way, you’ve also got cmdlets like Powershell format-table, `Format-List` and `Format-Wide` at your disposal. A PS1XML file on the file system or using any of the format cmdlets will display output in some different ways.

Without using any special formatting, [PowerShell](https://adamtheautomator.com/tag/powershell/), by default, uses its format. Whenever a specific object is returned, you’ll probably only see a limited portion of what that actual object’s contents are. For example, just looking a single folder you’ll only see the parent directory and a few attributes.

```powershell
PS> Get-Item -Path C:\Windows\

Directory: C:\
Mode	LastWriteTime		Length	Name
---- 	------------- 		------	----

d-----	11/24/2017 9:57 AM 			Windows
```

But, pipe that same command to `Select-Object -Property *` and see what happens.

```powershell
PS> Get-Item -Path C:\Windows\ | Select-Object -Property *

PSPath 				: Microsoft.PowerShell.Core\FileSystem::C:\Windows\
PSParentPath 		: Microsoft.PowerShell.Core\FileSystem::C:\
PSChildName 		: Windows
PSDrive				: C
PSProvider 			: Microsoft.PowerShell.Core\FileSystem
PSIsContainer 		: True
Mode 				: d-----
BaseName 			: Windows
Target 				: {C:\Windows}
LinkType 			:
Name 				: Windows
FullName 			: C:\Windows\
Parent 				:
Exists 				: True
Root 				: C:\
Extension 			:
CreationTime 		: 3/18/2017 5:40:20 AM
CreationTimeUtc 	: 3/18/2017 11:40:20 AM
LastAccessTime 		: 11/24/2017 9:57:51 AM
LastAccessTimeUtc	: 11/24/2017 3:57:51 PM
LastWriteTime 		: 11/24/2017 9:57:51 AM
LastWriteTimeUtc 	: 11/24/2017 3:57:51 PM
Attributes 			: Directory
```

PowerShell has hidden a lot of the object’s properties from you because usually, you don’t need to see all of this information. PowerShell provides a default view, but that doesn’t mean that’s your only option. We can change up this view via a Format cmdlet.

The most popular formatting cmdlet is `Format-Table`. According to the PowerShell help:

> _The Format-Table cmdlet formats the output of a command as a table with the selected properties of the object in each column. The object type determines the default layout and properties that are displayed in each column, but you can use the Property parameter to select the properties that you want to see._

> _You can also use a hash table to add calculated properties to an object before displaying it and to specify the column headings in the table. To add a calculated property, use the Property or GroupBy parameter._

Using Powershell Format-Table and `Select-Object` to pick out individual object properties appears to be same as long as the property values don’t extend past the current console’s width. But as soon as you can attempt to display lots of objects, you’ll see that `Format-Table` sticks with the tabular format while `Select-Object` reverted to displaying the properties on each line.

```powershell
PS> Get-Item -Path C:\Windows\ | Select-Object -Property LastAccessTime,Name,LastWriteTime,PSProvider,CreationTime

LastAccessTime 	: 11/24/2017 9:57:51 AM
Name 			: Windows
LastWriteTime 	: 11/24/2017 9:57:51 AM
PSProvider 		: Microsoft.PowerShell.Core\FileSystem
CreationTime 	: 3/18/2017 5:40:20 AM

PS> Get-Item -Path C:\Windows\ | Format-Table -Property LastAccessTime,Name,LastWriteTime,PSProvider,CreationTime

LastAccessTime			Name	LastWriteTime			PSProvider	CreationTime
-------------- 			---- 	------------- 			---------- 	------------
11/24/2017 9:57:51 AM 	Windows 11/24/2017 9:57:51 AM	Microsoft.PowerShell.Core\FileSystem	3/18/2017 5:40:20 AM
```

Powershell Format-Table output will attempt to display information via a tabular format always. If the property values are too long to be displayed, it will replace any missing text with ellipses to indicate more information is available but just not shown.

The `Format-Table` cmdlet has a lot of different ways it can manipulate output. Check out the [full documentation of `Format-Table`](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-table?view=powershell-5.1) via Microsoft docs.

Share this article

[Share on X](https://twitter.com/intent/tweet?url=https%3A%2F%2Fadamtheautomator.com%2Fpowershell-format-table%2F&text=PowerShell%20Format-Table%3A%20Organize%20Output%20in%20Columns)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fadamtheautomator.com%2Fpowershell-format-table%2F)[Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fadamtheautomator.com%2Fpowershell-format-table%2F)

## Related Posts

![](https://adamtheautomator.com/wp-content/uploads/2026/06/26995-troubleshoot-dns-issues-powershell-codex.webp)

### [Troubleshoot DNS Issues with PowerShell](/troubleshoot-dns-issues-powershell/)

Troubleshoot DNS issues with PowerShell by testing name resolution, DNS client settings, cache entries, and network connectivity in a repeatable workflow.

![](https://adamtheautomator.com/wp-content/uploads/2025/10/image_2025-10-24_095322075.png)

### [Migrating from PowerShell 6 to 7.5: Breaking Changes/New Features](/migrating-powershell-6-to-7-5/)

Migrate from PowerShell Core 6 to 7.5: breaking changes, features, and testing tips.

![](https://adamtheautomator.com/wp-content/uploads/2025/06/featured-image-6.png)

### [How to Add Timeouts to Pester Tests with PowerShell Runspaces](/pester-test-timeout-runspaces/)

Prevent Pester tests from hanging indefinitely using PowerShell runspaces. Learn to handle variable scoping, module loading, TestDrive access, and stream capture challenges with timeout protection.

## Categories

*   [IT Ops](/category/it-ops/)
*   [Cloud](/category/cloud/)
*   [DevOps](/category/devops/)
*   [Home Ops](/category/home-ops/)
*   [Information Security](/category/infosec/)
*   [Software Development](/category/software-development/)

## Site

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Copyright 2026© ATA Learning | [Privacy Policy](/privacy/)
