0

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

出力に列を追加したい

何か案は?

4

1 に答える 1

0

計算されたプロパティを条件付きで追加することはできません。ただし、次のようなものは機能します。

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'}}
于 2016-04-06T18:57:02.640 に答える