powershell wmi-object |选择
问题描述:
我想知道是否有方法在WMI对象的表达式中添加If语句|选择...powershell wmi-object |选择
这里是我有:
Get-WmiObject -Class Win32_LogicalDisk -Filter DriveType=3 -ComputerName $ServersinFarm | Select @{Name='Server Name';Expression={$_.SystemName}} , DeviceID , @{Name="size(GB)";Expression={"{0:N1}" -f($_.size/1gb)}}, @{Name="freespace(GB)";Expression={"{0:N1}" -f($_.freespace/1gb)}}
,我想一列添加到输出。如果可用空间10GB <写入错误
什么想法?
答
您不能有条件地添加计算的属性。这样的事情会的工作,但:
Get-WmiObject -Class Win32_LogicalDisk ... |
Select ..., Freespace, ... |
ForEach-Object {
if ($_.freespace -lt 10GB) {
$_ | Add-Member -Name 'Status' -Type NoteProperty -Value 'Error'
}
$_
} | Select-Object -Exclude Freespace
什么你可以计算的性质做的就是添加一个属性,来指示取决于可用空间量状态:
Get-WmiObject -Class Win32_LogicalDisk ... |
Select ..., @{n='Status';e={if ($_.Freespace -lt 10GB) {'Error'} else {'OK'}}
现在,我觉得这是一个诀窍,但是你有什么理由试图让它成为单行吗? –