La salida del comando PowerShell trunca el decimal de los valores flotantes

La salida del comando PowerShell trunca el decimal de los valores flotantes

Estoy usando el siguiente comando para verificar el espacio en el servidor remoto:

Get-WmiObject -Class win32_logicalDisk -ComputerName computer-name | Select Name,@{n="Free";e={[math]::trun
cate($_.freespace / 1GB)}}, @{n="Total Size";e={[math]::truncate($_.size / 1GB)}}

Produce:

Name Free Total Size
---- ---- ----------
C:     13         59
D:      0          0

Sin embargo, el espacio real es: 10,5 gratis desde 59,8. Es como si estuviera usando int, no float. ¿Alguien sabe cómo puedo cambiarlo para mostrar los valores flotantes reales?

Respuesta1

Lo encontré. Parece que necesito usarabdominalesen vez detruncarfunción.

Get-WmiObject -Class win32_logicalDisk -ComputerName computer-name | Select Name,@{n="Free";e={[math]::abs(
$_.freespace / 1GB)}}, @{n="Total Size";e={[math]::abs($_.size / 1GB)}}

Respuesta2

o Get-WmiObject -Class win32_logicDisk -ComputerName nombre-computadora | Seleccione Nombre,@{n="Gratis";e={[($.freespace / 1GB) -as [int]}}, @{n="Tamaño total";e={$.tamaño / 1GB -como [int])}}

información relacionada