VMware Global Community
nitta0814
Enthusiast
Enthusiast
Jump to solution

PowerCLIの出力をCSVにすると読めない文字になる

以下のコマンドでPowerCLIの出力をCSVにすると読めない文字になります。

【コマンド】

PS C:\WINDOWS\system32> $global:DefaultVIServers | Get-AdvancedSetting | Format-Table -Autosize -Wrap | Export-Csv -Encoding UTF8 -NoTypeInformation -Path C:\work\Exppppp.csv

PS C:\WINDOWS\system32> $global:DefaultVIServers | Get-AdvancedSetting | Format-Table -Autosize -Wrap | Export-Csv -Encoding Unicode -NoTypeInformation -Path C:\work\Exppppp.csv

PS C:\WINDOWS\system32> $global:DefaultVIServers | Get-AdvancedSetting | Format-Table -Autosize -Wrap | Export-Csv -Encoding Default -NoTypeInformation -Path C:\work\Exppppp.csv

【Exppppp.csv】※一部抜粋

"ClassId2e4f51ef21dd47e99d3c952918aff9cd","pageHeaderEntry","pageFooterEntry","autosizeInfo","shapeInfo","groupingEntry"

"033ecb2bc07a4d43b5ef94ed5a35d280",,,"Microsoft.PowerShell.Commands.Internal.Format.AutosizeInfo","Microsoft.PowerShell.Commands.Internal.Format.TableHeaderInfo",

"9e210fe47d09416682b841769c78b8a3",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

"27c87ef9bbda4f709f6b4002fa4af63c",,,,,

解決方法をご教示頂けないでしょうか。

0 Kudos
1 Solution

Accepted Solutions
kawaman
Leadership
Leadership
Jump to solution

csv に出力するのであれば、 Format-Table -Autosize -Wrap  の箇所は不要で、

その代わりに Select-Objectc 等で必要な列を選んで、Export-Csv する事で CSV にデータが反映されます。

例えばこんな感じです。

$global:DefaultVIServers | Get-AdvancedSetting | Select-Object Name,Value   | Export-Csv -Encoding UTF8 -Path C:\Exppppp.csv

View solution in original post

0 Kudos
4 Replies
kawaman
Leadership
Leadership
Jump to solution

csv に出力するのであれば、 Format-Table -Autosize -Wrap  の箇所は不要で、

その代わりに Select-Objectc 等で必要な列を選んで、Export-Csv する事で CSV にデータが反映されます。

例えばこんな感じです。

$global:DefaultVIServers | Get-AdvancedSetting | Select-Object Name,Value   | Export-Csv -Encoding UTF8 -Path C:\Exppppp.csv

0 Kudos
nitta0814
Enthusiast
Enthusiast
Jump to solution

いつもご回答頂きありがとうございます。

Format-Table -Autosize -Wrap」はCSV時には不要であること承知いたしました。

実行結果もIPアドレス以外は正常に出力されました。

IPアドレスの件は、PowerShell側の仕様だと思いますので、

WEBで対策を調査したいと思います。

ありがとうございました。

0 Kudos
kawaman
Leadership
Leadership
Jump to solution

ちなみに IPアドレスは どの項目の値がどのようにCSVに出力されていますか?

Export-Csv でよくあるのが 改行コードを含む値もそのまま出力されるため、CSVとして開くとその部分がずれてしまう事があります。

IPアドレスは出力されているが、改行入ってしまっている様ならば

Value内の改行を手で除くか、直接ファイルを開くのではなく、Excelを開いてからインポートで取り込むなどで回避できるかもしれません。

0 Kudos
nitta0814
Enthusiast
Enthusiast
Jump to solution

補足して頂きありがとうございます。

今回、Get-VMGuestコマンドを使用したところ、

IPアドレスのカラムは、以下のように出力されてしまいました。

 IPアドレス:System String[]

 Disks:VMware.VimAutomation.ViCore.Impl.V1.VM.Guest.DiskInfolmpl[]

 Nics:VMware.VimAutomation.VICore.Impl.V1.VM.Guest.NicInfolmpl[]

0 Kudos