展开PSObject以导出到csv

展开PSObject以导出到csv,csv,powershell,Csv,Powershell,如何将Get Help返回的PSobjects转换为字符串并导出为csv?。我认为这是一个简单的,但我不能完全得到的格式,我正在寻找。通过阅读之前的答案,我试图: Get-Help Get-Content | Select-Object -First 1 -Property @{ Name="temp" Expression = { $_.Name,$_.Synopsis,$_.syntax,$_.Description } } | Select-Object -ExpandPr

如何将
Get Help
返回的
PSobjects
转换为字符串并导出为csv?。我认为这是一个简单的,但我不能完全得到的格式,我正在寻找。通过阅读之前的答案,我试图:

Get-Help Get-Content | Select-Object -First 1 -Property @{
    Name="temp"
    Expression = { $_.Name,$_.Synopsis,$_.syntax,$_.Description }
} | Select-Object -ExpandProperty temp 
这几乎就是我想要的,只是看起来字段是数组而不是字符串。我试图为每个元素只包含一个字符串,即(名称、概要、语法等)

如果我尝试将其导出到csv,我会得到对象的长度,而不是对象本身:

Get-Help Get-Content | Select-Object -First 1 -Property @{
    Name="temp"
    Expression = { $_.Name,$_.Synopsis,$_.syntax,$_.Description }
} | Select-Object -ExpandProperty temp | export-csv -NoType -Path $env:HOME\test.txt

我假设您希望在一个单独的列中导出每个属性(您的脚本当前只导出一个属性)。为此,必须选择每个属性。对于
语法
说明
我使用
输出字符串
cmdlet将其转换为字符串,并删除了所有
\r\n
以获取有效的CSV:

Get-Help Get-Content | Select-Object -First 1 |
    Select-Object Name, Synopsis, 
        @{l='Syntax'; e={($_.Syntax | out-string) -replace "`r?`n"}}, 
        @{l='Description '; e={($_.Description | out-string)-replace "`r?`n"}} |
    Export-Csv -Path $env:HOME\test.txt -NoTypeInformation