我使用WMI编写了一个用于格式化磁盘信息的脚本,其命令和语法如下:
Get-WMIObject -ComputerName $Computer -Class Win32_LogicalDisk | Where-Object {$_.DriveType -eq 3}
但我需要格式化输出以表示GB的大小。如何处理输出?
谢谢!
答案 0 :(得分:3)
您可以使用表达式使用Select-Object格式化输出:
例如,您可以写下:
$Computer = 'localhost'
$DiskInfo = Get-WMIObject -ComputerName $Computer -Class Win32_LogicalDisk | Where-Object {$_.DriveType -eq 3} `
| Select-Object @{Name="Device";Expression={($_.Name)}},
@{Name="Size";Expression={([math]::Round($_.size/1gb))}},
@{Name="Free";Expression={([math]::Round($_.freespace/1gb))}}
我使用数学方法 Round (Math.Round Method)选择属性和格式。使用以下输出:
PS C:\Users\vmsilvamolina> $DiskInfo
Device Size Free
------ ---- ----
C: 223 23
答案 1 :(得分:0)
您可以像这样自定义输出:
Get-WMIObject -Class Win32_LogicalDisk | Where-Object {$_.DriveType -eq 3} |
Select DeviceID,DriveType,VolumeName,@{N="Size";E={"{0:N2}" -f ($_.Size / 1GB)}},@{N="FreeSpace";E={"{0:N2}" -f ($_.FreeSpace / 1GB)}}