在属性上做数学很新... 我正在尝试:
Get-WMIObject win32_diskdrive -computer $poste | Add-Member -MemberType ScriptProperty -Name GB -Value {[int]($_.size/1GB)} -PassThru | select model, size,GB
并且我认为我错误地引用了SIZE属性,因为我得到了:
model size GB
----- ---- --
Corsair Neutron XTI SSD SCSI Disk Device 480101368320 0
ST350041 3AS SCSI Disk Device 500105249280 0
我做错了什么?谢谢
答案 0 :(得分:3)
这个表达式有点简单:
Get-WMIObject win32_diskdrive | select model, size,@{n="GB";e={[int]($_.size/1GB)}}
它也可以。
答案 1 :(得分:2)
您可以在select语句中使用Expression
来计算以GB为单位的大小。
<强>实施例强>
Get-WMIObject win32_diskdrive -computer $poste | Select @{Label = "Model";Expression = {$_.Model}},
@{Label = "Size";Expression = {"{0:N1}" -f($_.Size) }},
@{Label = "Total Capacity (GB)";Expression = {"{0:N1}" -f( $_.Size / 1gb)}} #This will devide size by 1gb
答案 2 :(得分:1)
将其作为明确的ForEach-Object:
Get-WMIObject win32_diskdrive | %{Add-Member -Input $_ -MemberType ScriptProperty -Name GB -Value {[int]($_.size/1GB)} -PassThru} | select model, size,GB