PowerShellコマンドレット虎の巻

Where-Object

Where-Objectは、オブジェクトをプロパティ値で選択するコマンドです。

エイリアスwhere、?

解説

オブジェクトのコレクションをフィルタリングするために使用します。

構文

(構文)
Where-Object [-Property] <string> [[-Value] <Object>] [<CommonParameters>] Where-Object [-FilterScript] <scriptblock> [<CommonParameters>]
【主要パラメータ】
パラメータ説明
-InputObject オブジェクトオブジェクトを指定してフィルタリングを行う
-FilterScript スクリプトブロックスクリプトブロックを使用してフィルタリング条件を指定します
(例)Where-Object { $_.Property -eq "Value" }
-Property プロパティフィルタリングするプロパティ名を指定する
-Value 値比較対象の値を指定する
※-Propertyパラメータと組み合わせて使用する

共通的なパラメータは「共通パラメータ」をご覧ください。

【比較演算子パラメータ】
パラメータ説明
-EQ等しい
-CEQ等しい(大文字小文字を区別する)
-NE等しくない
-CNE等しくない(大文字小文字を区別する)
-GTより大きい
-CGTより大きい(大文字小文字を区別する)
-LTより小さい
-CLTより小さい(大文字小文字を区別する)
-GE以上
-CGE以上(大文字小文字を区別する)
-LE以下
-CLE以下(大文字小文字を区別する)
-Likeワイルドカードマッチング
-CLikeワイルドカードマッチング(大文字小文字を区別する)
-NotLikeワイルドカード非マッチング
-CNotLikeワイルドカード非マッチング(大文字小文字を区別する)
-Match正規表現マッチング
-CMatch正規表現マッチング(大文字小文字を区別する)
-NotMatch正規表現非マッチング
-CNotMatch正規表現非マッチング(大文字小文字を区別する)
-Containsコレクションに含まれる
-CContainsコレクションに含まれる(大文字小文字を区別する)
-NotContainsコレクションに含まれない
-CNotContainsコレクションに含まれない(大文字小文字を区別する)
-In指定した値のセットに含まれる
-CIn指定した値のセットに含まれる(大文字小文字を区別する)
-NotIn指定した値のセットに含まれない
-CNotIn指定した値のセットに含まれない(大文字小文字を区別する)
-Is指定した型である
-IsNot指定した型でない

サンプル

CPU使用率が10%を超えるプロセスのみを表示する

Get-Process | Where-Object { $_.CPU -gt 10 }

サイズが1MB以上のファイルのみを表示する

Get-ChildItem -Path "C:\test" | Where-Object { $_.Length -gt 1MB }

現在実行中のサービスのみを表示する

Get-Service | Where-Object { $_.Status -eq "Running" }

コマンドのヘルプを表示する

Get-Help Where-Object

備考

  • 各オブジェクトは自動変数$_として参照されます。

関連項目