в основном, я получаю все 0 в столбце процент1. Мне нужна помощь с синтаксисом или неправильным использованием Round.
Get-Cluster "my_cluster" | Get-VMHost | Get-Datastore | Select Name,@{N="Percentagetest";E={[math]::Round(($_.ExtensionData.Summary.Capacity / $_.ExtensionData.Summary.Freespace)/1GB,3)}}
Во-первых, отсутствует подчеркивание между символом $ и точкой. Чтобы получить доступ к свойствам объекта, переданного по конвейеру, вы должны использовать: $ _. ExtensionData.Summary.Capacity
Во-вторых, я думаю, что ваш расчет неверен:
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)}}