Export-Csv 入力がオブジェクトであることを期待します。文字列入力は、1つのプロパティ(Length)を持つ文字列オブジェクトと見なされます )、したがって、このプロパティのみがエクスポートされます。入力が文字列の配列である場合は、それをオブジェクトにする必要があります。このように:
$array = "foo", "bar", "baz"
New-Object -Type PSCustomObject -Property @{
"a" = $array[0]
"b" = $array[1]
"c" = $array[2]
} | Export-Csv output.csv -NoTypeInformation
上記はファイルoutput.csvを作成します 次の内容で:
"c","a","b"
"baz","foo","bar"
プロパティ名(a 、b 、c )はCSVヘッダー、プロパティ値(foo)になります 、bar 、baz )CSV値になります。
SQLクエリが配列のリストを生成する場合は、おそらく次のようなことを行う必要があります。
Invoke-Sqlcmd ... | % {
New-Object -Type PSCustomObject -Property @{
"col1" = $_[0]
"col2" = $_[1]
"col3" = $_[2]
}
} | Export-Csv output.csv -NoTypeInformation
ただし、SQLサーバーが手元にないので、一粒の塩を用意してください。