Если объект, который вы экспортируете как CSV с Export-Csv
или ConvertTo-Csv
, имеет значения свойств, которые содержат коллекцию (массив) значений, эти значения приводятся в соответствие с помощью их метода .ToString()
, что приводит к бесполезному представлению.
Предполагая, что вы хотите представить все значения свойства со значением массива в одном столбце CSV, чтобы решить эту проблему , вы должны принять решение о значимом строковом представлении для коллекции в целом и реализоватьиспользуя Select-Object
с вычисляемым свойством :
Например, вы можете использовать оператор -join для создания разделенного пробелами списка элементов:
$obj.SecurityRules | Select-Object -OutVariable +rules @{ n = 'NSG Name'; e = {$obj.Name -join ' '}}, @{ n = 'ResourceGroupName'; e = {$obj.ResourceGroupName -join ' '}},*
Для более подробной информации, вы можете обратиться к этому SO поток .