web-dev-qa-db-ja.com

vmwareを使用したpowerclimath-データストアのプロパティ分割演算

基本的に、percentage1列にすべて0が返されます。 Roundの構文または誤った使用であると私が信じていることについて助けが必要です。

Get-Cluster "my_cluster" | Get-VMHost | Get-Datastore | Select Name,@{N="Percentagetest";E={[math]::Round(($_.ExtensionData.Summary.Capacity / $_.ExtensionData.Summary.Freespace)/1GB,3)}}
1
2legit2quit

まず、$とドットの間の下線がありません。パイプされたオブジェクトのプロパティにアクセスするには、次を使用する必要があります:_$_.ExtensionData.Summary.Capacity_

第二に、私はあなたの計算が間違っていると思います:

  • 使用済みスペースの割合が必要な場合、なぜ1GBで割るのですか?これは、バイトをGBに変換する場合にのみ必要ですが、パーセンテージは常に0から100の間であるため、GB変換は必要ありません。
  • パーセンテージを計算するには、次のような式が必要です。

FreeSpace_in_percentage = ( freepace / AvailableSpace ) * 100

したがって、コマンドは次のようになります。これは私の環境で機能しました。

_Get-Cluster "my_cluster" | Get-VMHost | Get-Datastore | Select Name,@{N="Percentagetest";E={[math]::Round(($_.ExtensionData.Summary.Freespace/$_.ExtensionData.Summary.Capacity)*100,3)}}
_
1
Tobias