I have a simple script that is creating three arrays with some sample objects in PowerShell. When you output these multiple objects in PowerShell it is not giving proper output. But when you check each output object variable separately it is showing correct values. Can some one please suggest how to fix this issue. I also tried with Write-Output with no luck.
Here is the script:
$d1 = @()
$d2 = @()
$d3 = @()
$d1 += (New-Object -TypeName PSObject -Property ([ordered]@{"Table1"='Data1'; "Value"='Value1'}))
$d1 += (New-Object -TypeName PSObject -Property ([ordered]@{"Table1"='Data2'; "Value"='Value2'}))
$d2 += (New-Object -TypeName PSObject -Property ([ordered]@{"Table2"='Data1'; "Value"='Value1'}))
$d2 += (New-Object -TypeName PSObject -Property ([ordered]@{"Table2"='Data2'; "Value"='Value2'}))
$d3 += (New-Object -TypeName PSObject -Property ([ordered]@{"Table3"='Data1'; "Value"='Value1'}))
$d3 += (New-Object -TypeName PSObject -Property ([ordered]@{"Table3"='Data2'; "Value"='Value2'}))
$d1
$d2
$d3
And here is the out put you get after running script:
Table1 Value ------ ----- Data1 Value1 Data2 Value2 Value1 Value2 Value1 Value2
Where as if we check each variable like $d1
or $d2
etc. individually, it is showing the correct values:
PS C:\Temp> $d1 Table1 Value ------ ----- Data1 Value1 Data2 Value2 PS C:\Temp> $d2 Table2 Value ------ ----- Data1 Value1 Data2 Value2 PS C:\Temp> $d3 Table3 Value ------ ----- Data1 Value1 Data2 Value2