如何显示 WMI 输出的大小(以 GB 为单位)?
How can I show size in GB for WMI output?
我使用 WMI 编写了一个格式化磁盘信息的脚本,命令和语法如下:
Get-WMIObject -ComputerName $Computer -Class Win32_LogicalDisk | Where-Object {$_.DriveType -eq 3}
但我需要格式化输出以以 GB 为单位表示大小。如何处理输出?
谢谢!
您可以使用表达式来格式化输出 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))}}
I select 使用数学方法 Round (Math.Round Method) 的属性和格式。输出如下:
PS C:\Users\vmsilvamolina> $DiskInfo
Device Size Free
------ ---- ----
C: 223 23
您可以像这样自定义输出:
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)}}
我使用 WMI 编写了一个格式化磁盘信息的脚本,命令和语法如下:
Get-WMIObject -ComputerName $Computer -Class Win32_LogicalDisk | Where-Object {$_.DriveType -eq 3}
但我需要格式化输出以以 GB 为单位表示大小。如何处理输出?
谢谢!
您可以使用表达式来格式化输出 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))}}
I select 使用数学方法 Round (Math.Round Method) 的属性和格式。输出如下:
PS C:\Users\vmsilvamolina> $DiskInfo
Device Size Free
------ ---- ----
C: 223 23
您可以像这样自定义输出:
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)}}