Я сериализирую вывод следующего фрагмента скрипта, $ VM содержит виртуальную машину, хранящуюся в Get-VM.
$VM.VMId | Get-VHD | Select @{N="Name";E={$VM.Name}},@{N="Disks";E={[math]::Round($_.Size/1GB,1)}}
Вывод выглядит так:
Name Disks
---- -----
ServerXYZ 136,7
ServerXYZ 465,7
Но я хочу как-то сериализовать это, чтобы вместо этого дать мне:
Name Disks
---- -----
ServerXYZ 136,7 + 465,7
Я тщетно пытался добавить -join "+" немного здесь и там в коде безрезультатно.
Я позже дошел до этой точки:
$VM.Name, (($VM.VMId | Get-VHD | foreach{ [math]::round($_.size/1GB,1)}) -join " + ")
Этот вид близок к фактическому составлению списка правильных данных, который выглядит как «ServerXYZ, 136,7 + 465,7», но мне нужно будет отформатировать его как массив или хеш-таблицу с парами ключ-значение.