【问题标题】:powershell wmi-object | selectpowershell wmi 对象|选择
【发布时间】:2016-04-06 18:27:38
【问题描述】:

我想知道是否有办法在 WMI 对象的表达式中添加 If 语句 |选择...

这是我所拥有的:

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)}}

我想在输出中添加一列如果可用空间

有什么想法吗?

【问题讨论】:

  • 现在我觉得这是一个把戏,但你有什么理由让这个单线?

标签: powershell get-wmiobject


【解决方案1】:

您不能有条件地添加计算属性。不过,这样的事情会起作用:

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'}}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多