2011-08-10 13 views
4

データをCSVにエクスポートしていて、なんらかの理由で@ {}が転送されています。ここにサンプルスクリプトがあります。Export-CSVのHashtable

Get-VM VM | Select Name, @{N="DSFree";E={$_ | Get-Datastore | Select FreeSpaceMB }} | Export-Csv c:\temp\info.csv 

DSFree列の出力は次のようになります。{FreeSpaceMB = 686704}

@私は、エクスポートから} {@をどのように停止することができますか?

ありがとうございます。

答えて

3

私はあなたの具体的な例を試すことはできませんが、一般的に答え-ExpandPropertyです:

Get-VM VM | Select Name, @{N="DSFree";E={$_ | Get-Datastore | Select -expandProperty FreeSpaceMB }} | Export-Csv c:\temp\info.csv 
+0

完璧な、それはまさに私が探していたものでした。ありがとうございました。 – jrob24

+1

試してみました。前に '-expandProperty'について知りませんでした。 '%{$ _。prop}'をしなければならなかった – manojlds

1

@ EBGreenの答えは私が何かを学習させている間に、私はこのケースでは信じるもっと簡単な方法があります:

は、
Get-VM VM | Select Name, @{N="DSFree";E={($_ | Get-Datastore).FreeSpaceMB }} | Export-Csv c:\temp\info.csv