2017-09-12 16 views
0

私はPWSHを使い慣れていますが、見た目は簡単かもしれませんが、結果を期待どおりに表示する方法が見つかりません。同様に、Powershell:結果に@ {}の代わりに値を表示する

C:\Windows\system32> $vmMemUsageAvg 
Mem.Usage.Average 
----------------- 
       5.9 

が、私は唯一の出力として値を旺旺: ことを置く5.9

$vmMemUsageAvgの結果を要求する場合の例として、私はこの出力を受け取る

$vm2 = Get-VM VM1234 
$vmMemUsageAvg = get-VM $vm2.Name | Select @{N="Mem.Usage.Average";E={[Math]::Round((($_ |Get-Stat -Stat mem.usage.average -Start (Get-Date).AddHours(-24)-IntervalMins 5 -MaxSamples (12) |Measure-Object Value -Average).Average),2)}} 

、 Excelセルで

$Sheet.Cells.Item($intRow, 13) = [String]$vmMemUsageAvg 

私にストライこのようにngの:

@{Mem.Usage.Average=5.9} 

この値を持っている任意のヘルプを歓迎は、あなたが財産Mem.Usage.Averageを持つオブジェクトを作っているが、それは単なる文字列が欲しい見えるSelect-Object @{N="Mem.Usage.Average";E={...}}を使用することにより

+0

を取り出して私にこのような文字列を与える:{Memの@ を。 Usage.Average = 5.9} – VinceD

+0

'Mem.Usage.Average'というプロパティを持つオブジェクトを作成し、そのプロパティの値を5.9にしました。そのプロパティの値だけを表示するには、そのプロパティを要求する必要があります。 '$ vmMemUsageAvg。" Mem.Usage.Average "'。はい、それはオブジェクトのプロパティで5.9をラップし、その後すぐにアンラップするのはちょっと愚かです。 – TessellatingHeckler

+0

はい!私は$ vmMemUsageAvg.Mem.Usage.Averageを試しましたが、成功しませんでした。 見積もりを作成する。ありがとう! – VinceD

答えて

1

を表示します。だから $ Sheet.Cells.Item($ intRow、13)= [文字列] $ vmMemUsageAvg でExcelのセルであることを置くSelect

$vm2 = Get-VM VM1234 
$vmMemUsageAvg = [Math]::Round(((get-VM $vm2.Name | Get-Stat -Stat mem.usage.average -Start (Get-Date).AddHours(-24)-IntervalMins 5 -MaxSamples (12) | Measure-Object Value -Average).Average),2) 
+0

はい、ありがとう!毎日の学習:-) – VinceD

関連する問題