well it does what I asked

but what I am trying to find out is this;
instead the output of this
@{name="Hostname"; expression={$vmhost.name}},
@{name="VSwitch"; expression={$_.name}},
@{name="Ports"; expression={$_.numPorts}},
@{name="Ports Available"; expression={$_.numPortsAvailable}},
@{name="MTU"; expression={$_.mtu}},
@{name="VMnic"; expression={$_.pnic}},
@{name="BeaconStatus"; expression={$_.spec.policy.nicteaming.failurecriteria.checkbeacon}}
just into an array
$myCol = @()
$myCol += addline 'Hostname' $Variable
$myCol += addline 'vSwitch' $Variable
$myCol += addline 'Ports' $Variable
$myCol += addline 'Ports Available' $Variable
$myCol += addline 'MTU' $Variable
$myCol += addline 'VMnic' $Variable
$myCol += addline 'BeaconStatus' $Variable
addline is another function that will display nice tables.
"addline 'Item' '$variable' "