в основном, я получаю все 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)}}