Where-Object
プロパティの値に基づいて、コレクションからオブジェクトを選択します。
構文
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
[-EQ]
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-FilterScript] <ScriptBlock>
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-Match
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CEQ
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-GT
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CGT
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-LT
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CLT
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-GE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CGE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-LE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CLE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-Like
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CLike
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NotLike
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNotLike
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CMatch
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NotMatch
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNotMatch
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-Contains
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CContains
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NotContains
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNotContains
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-In
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CIn
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NotIn
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNotIn
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-Is
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-IsNot
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
-Not
[<CommonParameters>]
説明
コマンドレットは Where-Object
、渡されるオブジェクトのコレクションから、特定のプロパティ値を持つオブジェクトを選択します。 たとえば、 コマンドレットを Where-Object
使用して、特定の日付以降に作成されたファイル、特定の ID を持つイベント、または特定のバージョンの Windows を使用するコンピューターを選択できます。
Windows PowerShell 3.0 以降では、コマンドを作成Where-Object
する 2 つの異なる方法があります。
スクリプト ブロック。 スクリプト ブロックを使用すると、プロパティ名、比較演算子、プロパティ値を指定できます。
Where-Object
は、スクリプト ブロック ステートメントが true であるすべてのオブジェクトを返します。たとえば、次のコマンドは、priority クラスの
Normal
プロセス、つまり PriorityClass プロパティの値が と等しいプロセスを取得しますNormal
。Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}
すべての PowerShell 比較演算子は、スクリプト ブロック形式で有効です。 詳細については、「 about_Comparison_Operators」を参照してください。
比較ステートメント。 比較ステートメントを使用すると、自然言語のように記述することができます。 比較ステートメントは Windows PowerShell 3.0 で導入されました。
たとえば、次のコマンドは、 の優先度クラス
Normal
を持つプロセスも取得します。 これらのコマンドは同等であり、置き換えて使用することができます。Get-Process | Where-Object -Property PriorityClass -eq -Value "Normal"
Get-Process | Where-Object PriorityClass -eq "Normal"
Windows PowerShell 3.0 以降では、
Where-Object
コマンドのパラメーターとして比較演算子をWhere-Object
追加します。 すべての演算子は、特に指定しない限り、大文字と小文字を区別しません。 Windows PowerShell 3.0 より前のバージョンでは、PowerShell 言語の比較演算子はスクリプト ブロックでのみ使用できました。
に 1 つの Property をWhere-Object
指定すると、プロパティの値はブール式として扱われます。 Length の値が 0 でない場合、式は に$true
評価されます。 例: ('hi', '', 'there') | Where-Object Length
前の例は、機能的には次の例と同等です。
('hi', '', 'there') | Where-Object Length -GT 0
('hi', '', 'there') | Where-Object {$_.Length -gt 0}
ブール値の評価方法の詳細については、「 about_Booleans」を参照してください。
例
例 1: 停止したサービスを取得する
これらのコマンドは、現在停止されているすべてのサービスの一覧を取得します。 自動変数は $_
、コマンドレットに渡される各オブジェクトを Where-Object
表します。
最初のコマンドはスクリプト ブロック形式を使用し、2 番目のコマンドは比較ステートメント形式を使用します。 コマンドは等価であり、同じ意味で使用することができます。
Get-Service | Where-Object {$_.Status -eq "Stopped"}
Get-Service | where Status -eq "Stopped"
例 2: ワーキング セットに基づいてプロセスを取得する
これらのコマンドは、250 メガバイト (MB) を超えるワーキング セットを持つプロセスを一覧表示します。 scriptblock とステートメントの構文は同等であり、同じ意味で使用できます。
Get-Process | Where-Object {$_.WorkingSet -GT 250MB}
Get-Process | Where-Object WorkingSet -GT (250MB)
例 3: プロセス名に基づいてプロセスを取得する
これらのコマンドは、文字 p
で始まる ProcessName プロパティ値を持つプロセスを取得します。 Match 演算子を使用すると、正規表現の一致を使用できます。
scriptblock とステートメントの構文は同等であり、同じ意味で使用できます。
Get-Process | Where-Object {$_.ProcessName -Match "^p.*"}
Get-Process | Where-Object ProcessName -Match "^p.*"
例 4: 比較ステートメントの形式を使用する
この例では、 コマンドレットの新しい比較ステートメント形式を使用する方法を Where-Object
示します。
最初のコマンドは、比較ステートメント形式を使用しています。 このコマンドでは、エイリアスは使用されず、すべてのパラメーターにパラメーター名が使用されています。
2 番目のコマンドは、比較コマンドの形式をより自然に使用しています。 エイリアスは where
コマンドレット名に Where-Object
置き換え、省略可能なすべてのパラメーター名は省略されます。
Get-Process | Where-Object -Property Handles -GE -Value 1000
Get-Process | where Handles -GE 1000
例 5: プロパティに基づいてコマンドを取得する
この例では、true または false の項目、または指定したプロパティの任意の値を持つ項目を返すコマンドを記述する方法を示します。 各例では、 コマンドのスクリプト ブロックと比較ステートメントの形式の両方を示します。
# Use Where-Object to get commands that have any value for the OutputType property of the command.
# This omits commands that do not have an OutputType property and those that have an OutputType
# property, but no property value.
Get-Command | where OutputType
Get-Command | where {$_.OutputType}
# Use Where-Object to get objects that are containers.
# This gets objects that have the **PSIsContainer** property with a value of $True and excludes all
# others.
Get-ChildItem | where PSIsContainer
Get-ChildItem | where {$_.PSIsContainer}
# Finally, use the Not operator (!) to get objects that are not containers.
# This gets objects that do have the **PSIsContainer** property and those that have a value of
# $False for the **PSIsContainer** property.
Get-ChildItem | where {!$_.PSIsContainer}
# You cannot use the Not operator (!) in the comparison statement format of the command.
Get-ChildItem | where PSIsContainer -eq $False
例 6: 複数の条件を使用する
Get-Module -ListAvailable | where {
($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri
}
この例では、複数の条件を持つコマンドを Where-Object
作成する方法を示します。
このコマンドは、更新可能なヘルプ機能をサポートしている非コア モジュールを取得します。 コマンドは、コマンドレットの ListAvailable パラメーターを Get-Module
使用して、コンピューター上のすべてのモジュールを取得します。 パイプライン演算子 (|
) はモジュールを コマンドレットにWhere-Object
送信します。このコマンドレットは、 または PS
でMicrosoft
始まる名前を持たないモジュールを取得し、HelpInfoURI プロパティの値を持ち、モジュールの更新されたヘルプ ファイルを見つける場所を PowerShell に指示します。 比較ステートメントは And 論理演算子 によって接続されます。
この例は、スクリプト ブロックのコマンド形式を使用しています。 And や Or などの論理演算子は、スクリプト ブロックでのみ有効です。 コマンドの比較ステートメント形式 Where-Object
では使用できません。
- PowerShell 論理演算子の詳細については、「 about_Logical_Operators」を参照してください。
- 更新可能なヘルプ機能の詳細については、「 about_Updatable_Help」を参照してください。
パラメーター
-CContains
オブジェクトのプロパティ値が指定した値と完全に一致する場合に、このコマンドレットがコレクションからオブジェクトを取得することを示します。 この操作では、大文字と小文字が区別されます。
例: Get-Process | where ProcessName -CContains "svchost"
CContains は値のコレクションを参照し、指定した値と完全に一致する項目がコレクションに含まれている場合は true です。 入力が 1 つのオブジェクトの場合、PowerShell はそれを 1 つのオブジェクトのコレクションに変換します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CEQ
プロパティ値が指定した値と同じ場合に、このコマンドレットがオブジェクトを取得することを示します。 この操作では、大文字と小文字が区別されます。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CGE
プロパティ値が指定した値以上の場合に、このコマンドレットがオブジェクトを取得することを示します。 この操作では、大文字と小文字が区別されます。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CGT
プロパティ値が指定した値より大きい場合、このコマンドレットがオブジェクトを取得することを示します。 この操作では、大文字と小文字が区別されます。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CIn
プロパティ値に指定した値が含まれている場合、このコマンドレットがオブジェクトを取得することを示します。 この操作では、大文字と小文字が区別されます。
例: Get-Process | where -Value "svchost" -CIn ProcessName
CIn はCContains に似ていますが、プロパティと値の位置が逆になっている点が除きます。 たとえば、次のステートメントはどちらも true です。
"abc", "def" -CContains "abc"
"abc" -CIn "abc", "def"
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLE
プロパティ値が指定した値以下の場合に、このコマンドレットがオブジェクトを取得することを示します。 この操作では、大文字と小文字が区別されます。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLike
プロパティ値がワイルドカード文字 (*
) を含む値と一致する場合に、このコマンドレットがオブジェクトを取得することを示します。 この操作では、大文字と小文字が区別されます。
例: Get-Process | where ProcessName -CLike "*host"
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLT
プロパティ値が指定した値より小さい場合、このコマンドレットがオブジェクトを取得することを示します。 この操作では、大文字と小文字が区別されます。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CMatch
プロパティ値が指定した正規表現と一致する場合に、このコマンドレットがオブジェクトを取得することを示します。 この操作では大文字と小文字が区別されます。 入力がスカラーの場合、一致した値は自動変数に $Matches
保存されます。
例: Get-Process | where ProcessName -CMatch "Shell"
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNE
プロパティ値が指定した値と異なる場合に、このコマンドレットがオブジェクトを取得することを示します。 この操作では大文字と小文字が区別されます。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotContains
オブジェクトのプロパティ値が指定した値と完全に一致しない場合に、このコマンドレットがオブジェクトを取得することを示します。 この操作では大文字と小文字が区別されます。
例: Get-Process | where ProcessName -CNotContains "svchost"
NotContains と CNotContains は値のコレクションを参照し、指定した値と完全に一致する項目がコレクションに含まれていない場合は true です。 入力が 1 つのオブジェクトの場合、PowerShell は入力を 1 つのオブジェクトのコレクションに変換します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotIn
プロパティ値が指定した値と完全に一致しない場合に、このコマンドレットがオブジェクトを取得することを示します。 この操作では大文字と小文字が区別されます。
例: Get-Process | where -Value "svchost" -CNotIn -Property ProcessName
NotIn 演算子と CNotIn 演算子は、プロパティと値の位置が反転されることを除き、 NotContains および CNotContains に似ています。 たとえば、次のステートメントは true です。
"abc", "def" -CNotContains "Abc"
"abc" -CNotIn "Abc", "def"
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotLike
プロパティ値がワイルドカード文字を含む値と一致しない場合に、このコマンドレットがオブジェクトを取得することを示します。 この操作では大文字と小文字が区別されます。
例: Get-Process | where ProcessName -CNotLike "*host"
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotMatch
プロパティ値が指定した正規表現と一致しない場合に、このコマンドレットがオブジェクトを取得することを示します。 この操作では大文字と小文字が区別されます。 入力がスカラーの場合、一致した値は自動変数に $Matches
保存されます。
例: Get-Process | where ProcessName -CNotMatch "Shell"
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Contains
オブジェクトのプロパティ値内の項目が指定した値と完全に一致する場合に、このコマンドレットがオブジェクトを取得することを示します。
例: Get-Process | where ProcessName -Contains "Svchost"
プロパティ値に 1 つのオブジェクトが含まれている場合、PowerShell はそれを 1 つのオブジェクトのコレクションに変換します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | IContains |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EQ
プロパティ値が指定した値と同じ場合に、このコマンドレットがオブジェクトを取得することを示します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | IEQ |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilterScript
オブジェクトをフィルター処理するために使用するスクリプト ブロックを指定します。 スクリプト ブロックを中かっこ ({}
) で囲みます。
パラメーター名 FilterScript は省略可能です。
Type: | ScriptBlock |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GE
プロパティ値が指定した値以上の場合に、このコマンドレットがオブジェクトを取得することを示します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | IGE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GT
プロパティ値が指定した値より大きい場合に、このコマンドレットがオブジェクトを取得することを示します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | IGT |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-In
プロパティ値が指定した値のいずれかに一致する場合に、このコマンドレットがオブジェクトを取得することを示します。 例:
Get-Process | where -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"
Value パラメーターの値が 1 つのオブジェクトの場合、PowerShell はそれを 1 つのオブジェクトのコレクションに変換します。
オブジェクトのプロパティ値が配列の場合、PowerShell は参照の等価性を使用して一致を判断します。 Where-Object
Property パラメーターの値と Value の値がオブジェクトの同じインスタンスである場合にのみ、オブジェクトを返します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | IIn |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
フィルター処理されるオブジェクトを指定します。 オブジェクトを に Where-Object
パイプすることもできます。
コマンドの結果を にパイプするのではなく、 で InputObject パラメーター Where-Object
を Where-Object
使用すると、 InputObject 値は 1 つのオブジェクトとして扱われます。 これは、値が コマンドの結果であるコレクションである場合でも当てはまります (例: -InputObject (Get-Process)
)。 InputObject はオブジェクトの配列またはコレクションから個々のプロパティを返すことができないので、 を使用Where-Object
して、定義されたプロパティに特定の値を持つオブジェクトのオブジェクトのコレクションをフィルター処理する場合は、このトピックの例に示すようにパイプラインで を使用Where-Object
することをお勧めします。
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Is
プロパティ値が指定した .NET 型のインスタンスである場合、このコマンドレットがオブジェクトを取得することを示します。 型名を角かっこで囲みます。
たとえば、Get-Process | where StartTime -Is [DateTime]
のように指定します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IsNot
プロパティ値が指定した .NET 型のインスタンスでない場合に、このコマンドレットがオブジェクトを取得することを示します。
たとえば、Get-Process | where StartTime -IsNot [DateTime]
のように指定します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LE
プロパティ値が指定した値以下の場合に、このコマンドレットがオブジェクトを取得することを示します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | ILE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Like
プロパティ値がワイルドカード文字 (*
) を含む値と一致する場合に、このコマンドレットがオブジェクトを取得することを示します。
例: Get-Process | where ProcessName -Like "*host"
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | ILike |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LT
プロパティ値が指定した値より小さい場合に、このコマンドレットがオブジェクトを取得することを示します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | ILT |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Match
プロパティ値が指定した正規表現と一致する場合に、このコマンドレットがオブジェクトを取得することを示します。 入力がスカラーの場合、一致した値は自動変数に $Matches
保存されます。
例: Get-Process | where ProcessName -Match "shell"
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | IMatch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NE
プロパティ値が指定した値と異なる場合に、このコマンドレットがオブジェクトを取得することを示します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | INE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Not
プロパティが存在しないか、 または $false
の値$null
を持つ場合に、このコマンドレットがオブジェクトを取得することを示します。
例: Get-Service | where -Not "DependentServices"
このパラメーターは、Windows PowerShell 6.1 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotContains
プロパティ値の項目が指定した値と完全に一致しない場合に、このコマンドレットがオブジェクトを取得することを示します。
例: Get-Process | where ProcessName -NotContains "Svchost"
NotContains は値のコレクションを参照し、指定した値と完全に一致する項目がコレクションに含まれていない場合は true です。 入力が 1 つのオブジェクトの場合、PowerShell は入力を 1 つのオブジェクトのコレクションに変換します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | INotContains |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotIn
プロパティ値が指定した値のいずれにも完全に一致しない場合に、このコマンドレットがオブジェクトを取得することを示します。
例: Get-Process | where -Value "svchost" -NotIn -Property ProcessName
Value の値が 1 つのオブジェクトの場合、PowerShell は 1 つのオブジェクトのコレクションに変換します。
オブジェクトのプロパティ値が配列の場合、PowerShell は参照の等価性を使用して一致を判断します。 Where-Object
Property の値と Value の値がオブジェクトの同じインスタンスでない場合にのみ、オブジェクトが返されます。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | INotIn |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotLike
プロパティ値がワイルドカード文字 (*
) を含む値と一致しない場合に、このコマンドレットがオブジェクトを取得することを示します。
例: Get-Process | where ProcessName -NotLike "*host"
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | INotLike |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotMatch
プロパティ値が指定した正規表現と一致しない場合に、このコマンドレットがオブジェクトを取得することを示します。 入力がスカラーの場合、一致した値は自動変数に $Matches
保存されます。
例: Get-Process | where ProcessName -NotMatch "PowerShell"
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Aliases: | INotMatch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
オブジェクトのプロパティの名前を指定します。 パラメーター名 Property は省略可能です。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
プロパティ値を指定します。 パラメーター名 Value は省略可能です。 このパラメーターは、次の比較パラメーターで使用する場合、ワイルドカード文字を受け取ります。
- CLike
- CNotLike
- Like
- NotLike
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | Object |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
入力
オブジェクトをこのコマンドレットにパイプできます。
出力
Object
このコマンドレットは、入力オブジェクト セットから選択した項目を返します。
メモ
Windows PowerShell 4.0 以降では、Where
コレクションで使用する メソッドと ForEach
メソッドが追加されました。
これらのメソッドの詳細については、こちらを 参照してくださいabout_arrays