HOME > Object系コマンドレット > Where-Object
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
備考
- 各オブジェクトは自動変数$_として参照されます。
関連項目
- Object系コマンドレット
- New-Object:オブジェクトを作成する
- Compare-Object:オブジェクトを比較する
- Sort-Object:オブジェクトをソートする
- Select-Object:オブジェクトを選択する
- ForEach-Object:オブジェクトを順次処理する
- Where-Object:オブジェクトをプロパティ値で選択する
- Group-Object:オブジェクトをグルーピングする
- Measure-Object:オブジェクトを指定した条件で計算する
- Tee-Object:オブジェクト出力を分岐する