I have some code that pulls from an API into a variable called $table
. I can export this variable to a csv with no issues, except the last field in the table ($table.userdefinedfields
) exports as a SystemObject[]
.
What I would like is a 3 column table consisting of the 1st and 3rd fields of $table
and the 29th field of the SystemObject[]
.
I am not too well versed in powershell, but this must be possible.
Any ideas?
CodePudding user response:
Use Select-Object
with a calculated property:
$table |
Select-Object -ExcludeProperty userdefinedfields -Property *, @{
Name = 'Field29' # change as needed
Expression = { $_.userdefinedfields[28] }
} # | Export-Csv ...
The above uses all original properties (*
), except the userdefinedfields
property, and adds a calculated property with self-chosen name Field29
that contains the 29th element ([28]
) of the array stored in each input object's .userdefinedfields
property.
Since you only want a subset of the original properties, replace *
with the property names of interest, i.e the names of the 1st and 3rd properties (e.g., Foo, Bar
); you can then omit the -ExcludeProperty
parameter.
CodePudding user response:
Thanks for the help....All good now