Я использую следующую команду для проверки места на удаленном сервере:
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)}}
Выводит:
Name Free Total Size
---- ---- ----------
C: 13 59
D: 0 0
Однако фактическое пространство: 10.5 свободно из 59.8. Как будто используется int, а не float. Кто-нибудь знает, как это изменить, чтобы отображались реальные значения float?
решение1
Нашел. Кажется, мне нужно использоватьабсвместо того, чтобыусекатьфункция.
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)}}
решение2
или Get-WmiObject -Class win32_logicalDisk -ComputerName имя-компьютера | Выберите Имя,@{n="Free";e={[($.freespace / 1GB) -as [int]}}, @{n="Общий размер";e={$.size / 1GB -как [целое])}}