Format-Table on Array of Hash Tables
How do you format an array of hash tables with the Format-Table cmdlet?
Example:
$table = @( @{ColumnA="Able"; ColumnB=1},
@{ColumnA="Baker"; ColumnB=2},
@{ColumnA="Charlie"; ColumnB=3} )
$table | Format-Table
Desired Output:
ColumnA ColumnB
---- -----
Able 1
Baker 2
Charlie 3
Actual Output:
Name Value
---- -----
ColumnA Able
ColumnB 1
ColumnA Baker
ColumnB 2
ColumnA Charlie
ColumnB 3
Solution 1:
Using Powershell V4:
$table = @( @{ColumnA="Able"; ColumnB=1},
@{ColumnA="Baker"; ColumnB=2},
@{ColumnA="Charlie"; ColumnB=3} )
$table | ForEach {[PSCustomObject]$_} | Format-Table -AutoSize
ColumnA ColumnB
------- -------
Able 1
Baker 2
Charlie 3
V2 solution:
$(foreach ($ht in $table)
{new-object PSObject -Property $ht}) | Format-Table -AutoSize