A saída do comando do PowerShell trunca o decimal dos valores flutuantes

A saída do comando do PowerShell trunca o decimal dos valores flutuantes

Estou usando o seguinte comando para verificar o espaço no 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)}}

Ele produz:

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

No entanto, o espaço real é: 10,5 livre de 59,8. É como se estivesse usando int, não float. Alguém sabe como posso alterá-lo para mostrar os valores flutuantes reais?

Responder1

Encontrei. Parece que preciso usarabdômenao invés detruncarfunção.

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)}}

Responder2

ou Get-WmiObject -Class win32_logicalDisk -ComputerName nome do computador | Selecione Nome,@{n="Grátis";e={[($.freespace / 1GB) -as [int]}}, @{n="Tamanho total";e={$.size / 1GB -as [int])}}

informação relacionada