다음을 통해 공유


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>]

Description

Where-Object cmdlet은 전달되는 개체 컬렉션에서 특정 속성 값이 있는 개체를 선택합니다. 예를 들어 Where-Object cmdlet을 사용하여 특정 날짜 이후에 생성된 파일, 특정 ID가 있는 이벤트 또는 특정 버전의 Windows를 사용하는 컴퓨터를 선택할 수 있습니다.

Windows PowerShell 3.0부터는 Where-Object 명령을 생성하는 두 가지 방법이 있습니다.

  • 스크립트 블록. 스크립트 블록을 사용하여 속성 이름, 비교 연산자 및 속성 값을 지정할 수 있습니다. Where-Object 스크립트 블록 문이 true인 모든 개체를 반환합니다.

    예를 들어 다음 명령은 Normal 우선 순위 클래스의 프로세스를 가져옵니다. 즉, PriorityClass 속성의 값이 Normal동일한 프로세스를 가져옵니다.

    Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}

    모든 PowerShell 비교 연산자는 스크립트 블록 형식으로 유효합니다. 자세한 내용은 about_Comparison_Operators참조하세요.

  • Comparison 문. 자연어와 훨씬 유사한 비교 문을 작성할 수도 있습니다. 비교 문은 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 언어의 비교 연산자를 스크립트 블록에서만 사용할 수 있었습니다.

Where-Object단일 속성 제공하면 cmdlet은 속성 값을 부울 식으로 처리합니다. 속성의 Length 값이 0이 아닌 경우 식은 $true계산됩니다. 예: ('hi', '', 'there') | Where-Object Length

이전 예제는 기능적으로 다음과 같습니다.

  • ('hi', '', 'there') | Where-Object Length -GT 0
  • ('hi', '', 'there') | Where-Object { $_.Length -gt 0 }

PowerShell에서 부울을 평가하는 방법에 대한 자세한 내용은 about_Booleans참조하세요.

예제

예제 1: 중지된 서비스 가져오기

이러한 명령은 중지된 모든 서비스의 목록을 가져옵니다. $_ 자동 변수는 Where-Object cmdlet에 전달되는 각 개체를 나타냅니다.

첫 번째 명령은 스크립트 블록 형식을 사용하고 두 번째 명령은 비교 문 형식을 사용합니다. 이 명령은 동일한 방식으로 서비스를 필터링하고 동일한 출력을 반환합니다. 구문만 다릅니다.

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

예제 2: 작업 집합을 기반으로 프로세스 가져오기

이러한 명령은 작업 집합이 250MB(메가바이트)보다 큰 프로세스를 나열합니다. 명령은 동일한 방식으로 프로세스를 필터링하고 동일한 출력을 반환합니다. 구문만 다릅니다.

Get-Process | Where-Object { $_.WorkingSet -GT 250MB }
Get-Process | Where-Object WorkingSet -GT 250MB

예제 3: 프로세스 이름에 따라 프로세스 가져오기

이러한 명령은 문자 p시작하는 ProcessName 속성 값이 있는 프로세스를 가져옵니다. Match 연산자를 사용하면 정규식 일치를 사용할 수 있습니다.

명령은 동일한 방식으로 프로세스를 필터링하고 동일한 출력을 반환합니다. 구문만 다릅니다.

Get-Process | Where-Object { $_.ProcessName -Match "^p.*" }
Get-Process | Where-Object ProcessName -Match "^p.*"

예제 4: 비교 문 형식 사용

이 예제에서는 Where-Object cmdlet의 새 비교 문 형식을 사용하는 방법을 보여줍니다.

첫 번째 명령은 비교 문 형식을 사용합니다. 별칭을 사용하지 않으며 모든 매개 변수의 이름을 포함합니다.

두 번째 명령은 비교 명령 형식을 더 자연스럽게 사용하는 것입니다. 이 명령은 where 별칭을 Where-Object cmdlet 이름으로 대체하고 모든 선택적 매개 변수 이름을 생략합니다.

명령은 동일한 방식으로 프로세스를 필터링하고 동일한 출력을 반환합니다. 구문만 다릅니다.

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-Object OutputType
Get-Command | Where-Object { $_.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-Object PSIsContainer
Get-ChildItem | Where-Object { $_.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-Object -Not PSIsContainer
Get-ChildItem | Where-Object { !$_.PSIsContainer }

예제 6: 여러 조건 사용

Get-Module -ListAvailable | Where-Object {
    ($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri
}

이 예제에서는 여러 조건이 있는 Where-Object 명령을 만드는 방법을 보여줍니다.

이 명령은 업데이트할 수 있는 도움말 기능을 지원하는 비코어 모듈을 가져옵니다. 이 명령은 Get-Module cmdlet의 ListAvailable 매개 변수를 사용하여 컴퓨터의 모든 모듈을 가져옵니다. 파이프라인 연산자(|)는 이름이 Microsoft 또는 PS시작되지 않는 모듈을 가져오고 HelpInfoURI 속성에 대한 값을 갖는 Where-Object cmdlet으로 모듈을 보내며, 이 모듈에 대한 업데이트된 도움말 파일을 찾을 위치를 PowerShell에 알려줍니다. -and 논리 연산자는 비교 문을 연결합니다.

이 예제에서는 스크립트 블록 명령 형식을 사용합니다. -and,-or-not 같은 논리 연산자는 스크립트 블록에서만 유효합니다. Where-Object 명령의 비교 문 형식에서는 사용할 수 없습니다.

매개 변수

-CContains

개체의 속성 값이 지정된 값과 정확히 일치하는 경우 이 cmdlet이 컬렉션에서 개체를 가져옵니다. 이 작업은 대/소문자를 구분합니다.

예: Get-Process | Where-Object ProcessName -CContains "svchost"

CContains 값 컬렉션을 참조하며 컬렉션에 지정된 값과 정확히 일치하는 항목이 포함되어 있으면 true입니다. 입력이 단일 개체인 경우 PowerShell은 이를 하나의 개체 컬렉션으로 변환합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CEQ

속성 값이 지정된 값과 같으면 이 cmdlet이 개체를 가져오게 됨을 나타냅니다. 이 작업은 대/소문자를 구분합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CGE

속성 값이 지정된 값보다 크거나 같은 경우 이 cmdlet이 개체를 가져오도록 나타냅니다. 이 작업은 대/소문자를 구분합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CGT

속성 값이 지정된 값보다 큰 경우 이 cmdlet이 개체를 가져옵니다. 이 작업은 대/소문자를 구분합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CIn

속성 값에 지정된 값이 포함된 경우 이 cmdlet이 개체를 가져오게 됨을 나타냅니다. 이 작업은 대/소문자를 구분합니다.

예: Get-Process | Where-Object -Value "svchost" -CIn ProcessName

CInCContains비슷하지만 속성과 값 위치는 반대로 바뀝니다. 예를 들어 다음 문은 모두 true입니다.

"abc", "def" -CContains "abc"

"abc" -CIn "abc", "def"

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CLE

속성 값이 지정된 값보다 작거나 같은 경우 이 cmdlet이 개체를 가져오도록 나타냅니다. 이 작업은 대/소문자를 구분합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CLike

속성 값이 와일드카드 문자(*)를 포함하는 값과 일치하는 경우 이 cmdlet이 개체를 가져옵니다. 이 작업은 대/소문자를 구분합니다.

예: Get-Process | Where-Object ProcessName -CLike "*host"

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CLT

속성 값이 지정된 값보다 작으면 이 cmdlet이 개체를 가져옵니다. 이 작업은 대/소문자를 구분합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CMatch

속성 값이 지정된 정규식과 일치하는 경우 이 cmdlet이 개체를 가져오게 됨을 나타냅니다. 이 작업은 대/소문자를 구분합니다. 입력이 단일 개체인 경우 일치하는 값은 $Matches 자동 변수에 저장됩니다.

예: Get-Process | Where-Object ProcessName -CMatch "Shell"

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CNE

속성 값이 지정된 값과 다른 경우 이 cmdlet이 개체를 가져오고 있음을 나타냅니다. 이 작업은 대/소문자를 구분합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CNotContains

개체의 속성 값이 지정된 값과 정확히 일치하지 않는 경우 이 cmdlet이 개체를 가져옵니다. 이 작업은 대/소문자를 구분합니다.

예: Get-Process | Where-Object ProcessName -CNotContains "svchost"

NotContainsCNotContains 값 컬렉션을 참조하며 컬렉션에 지정된 값과 정확히 일치하는 항목이 포함되지 않은 경우 true입니다. 입력이 단일 개체인 경우 PowerShell은 이를 하나의 개체 컬렉션으로 변환합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CNotIn

속성 값이 지정된 값과 정확히 일치하지 않는 경우 이 cmdlet이 개체를 가져오고 있음을 나타냅니다. 이 작업은 대/소문자를 구분합니다.

예: Get-Process | Where-Object -Value "svchost" -CNotIn -Property ProcessName

NotInCNotIn 연산자는 속성과 값 위치가 반전된다는 점을 제외하고 NotContains 및 CNotContains유사합니다. 예를 들어 다음 문은 true입니다.

"abc", "def" -CNotContains "Abc"

"abc" -CNotIn "Abc", "def"

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CNotLike

속성 값이 와일드카드 문자를 포함하는 값과 일치하지 않는 경우 이 cmdlet이 개체를 가져옵니다. 이 작업은 대/소문자를 구분합니다.

예: Get-Process | Where-Object ProcessName -CNotLike "*host"

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-CNotMatch

속성 값이 지정된 정규식과 일치하지 않는 경우 이 cmdlet이 개체를 가져오게 됨을 나타냅니다. 이 작업은 대/소문자를 구분합니다. 입력이 단일 개체인 경우 일치하는 값은 $Matches 자동 변수에 저장됩니다.

예: Get-Process | Where-Object ProcessName -CNotMatch "Shell"

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Contains

개체의 속성 값에 있는 항목이 지정된 값과 정확히 일치하는 경우 이 cmdlet이 개체를 가져옵니다.

예: Get-Process | Where-Object ProcessName -Contains "Svchost"

입력이 단일 개체인 경우 PowerShell은 이를 하나의 개체 컬렉션으로 변환합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:IContains
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-EQ

속성 값이 지정된 값과 같으면 이 cmdlet이 개체를 가져오게 됨을 나타냅니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:IEQ
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-FilterScript

개체를 필터링하는 데 사용되는 스크립트 블록을 지정합니다. 스크립트 블록을 중괄호({})로 묶습니다.

FilterScript매개 변수 이름은 선택 사항입니다.

형식:ScriptBlock
Position:0
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-GE

속성 값이 지정된 값보다 크거나 같은 경우 이 cmdlet이 개체를 가져오도록 나타냅니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:IGE
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-GT

속성 값이 지정된 값보다 큰 경우 이 cmdlet이 개체를 가져옵니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:IGT
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-In

속성 값이 지정된 값과 일치하는 경우 이 cmdlet이 개체를 가져옵니다. 예를 들어:

Get-Process | Where-Object -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"

입력이 단일 개체인 경우 PowerShell은 이를 하나의 개체 컬렉션으로 변환합니다.

개체의 속성 값이 배열인 경우 PowerShell은 참조 같음을 사용하여 일치 항목을 확인합니다. Where-Object Property 매개 변수의 값과 Value 값이 개체의 동일한 인스턴스인 경우에만 개체를 반환합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:IIn
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InputObject

필터링할 개체를 지정합니다. 개체를 Where-Object파이프할 수도 있습니다.

Where-Object InputObject 매개 변수를 사용하면 명령 결과를 Where-Object파이핑하는 대신 cmdlet은 InputObject 단일 개체로 처리합니다. 값이 명령의 결과인 컬렉션(예: -InputObject (Get-Process))인 경우에도 마찬가지입니다.

InputObject 개체의 배열 또는 컬렉션에서 개별 속성을 반환할 수 없으므로 Where-Object 사용하여 정의된 속성에 특정 값이 있는 개체의 개체 컬렉션을 필터링하는 경우 이 항목의 예제와 같이 파이프라인에서 Where-Object 사용하는 것이 좋습니다.

형식:PSObject
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Is

속성 값이 지정된 .NET 형식의 인스턴스인 경우 이 cmdlet이 개체를 가져오고 있음을 나타냅니다. 형식 이름을 대괄호로 묶습니다.

예를 들어 Get-Process | Where-Object StartTime -Is [DateTime]

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-IsNot

속성 값이 지정된 .NET 형식의 인스턴스가 아닌 경우 이 cmdlet이 개체를 가져오고 있음을 나타냅니다.

예를 들어 Get-Process | where StartTime -IsNot [DateTime]

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-LE

속성 값이 지정된 값보다 작거나 같은 경우 이 cmdlet이 개체를 가져오도록 나타냅니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:ILE
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Like

속성 값이 와일드카드 문자(*)를 포함하는 값과 일치하는 경우 이 cmdlet이 개체를 가져옵니다.

예: Get-Process | Where-Object ProcessName -Like "*host"

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:ILike
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-LT

속성 값이 지정된 값보다 작은 경우 이 cmdlet이 개체를 가져오게 됨을 나타냅니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:ILT
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Match

속성 값이 지정된 정규식과 일치하는 경우 이 cmdlet이 개체를 가져오게 됨을 나타냅니다. 입력이 단일 개체인 경우 일치하는 값은 $Matches 자동 변수에 저장됩니다.

예: Get-Process | Where-Object ProcessName -Match "shell"

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:IMatch
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-NE

속성 값이 지정된 값과 다른 경우 이 cmdlet이 개체를 가져오고 있음을 나타냅니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:INE
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Not

속성이 없거나 값이 $null 또는 $false경우 이 cmdlet이 개체를 가져옵니다.

예: Get-Service | Where-Object -Not "DependentServices"

이 매개 변수는 Windows PowerShell 6.1에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-NotContains

속성 값에 있는 항목이 지정된 값과 정확히 일치하는 항목이 없는 경우 이 cmdlet이 개체를 가져오게 됨을 나타냅니다.

예: Get-Process | Where-Object ProcessName -NotContains "Svchost"

NotContains 값 컬렉션을 참조하며 컬렉션에 지정된 값과 정확히 일치하는 항목이 없는 경우 true입니다. 입력이 단일 개체인 경우 PowerShell은 이를 하나의 개체 컬렉션으로 변환합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:INotContains
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-NotIn

속성 값이 지정된 값과 정확히 일치하지 않는 경우 이 cmdlet이 개체를 가져오고 있음을 나타냅니다.

예: Get-Process | Where-Object -Value "svchost" -NotIn -Property ProcessName

Value 값이 단일 개체인 경우 PowerShell은 이를 하나의 개체 컬렉션으로 변환합니다.

개체의 속성 값이 배열인 경우 PowerShell은 참조 같음을 사용하여 일치 항목을 확인합니다. Where-Object Property 값과 Value 값이 개체의 인스턴스가 아닌 경우에만 개체를 반환합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:INotIn
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-NotLike

속성 값이 와일드카드 문자(*)를 포함하는 값과 일치하지 않는 경우 이 cmdlet이 개체를 가져오고 있음을 나타냅니다.

예: Get-Process | Where-Object ProcessName -NotLike "*host"

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:INotLike
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-NotMatch

속성 값이 지정된 정규식과 일치하지 않을 때 이 cmdlet이 개체를 가져오고 있음을 나타냅니다. 입력이 단일 개체인 경우 일치하는 값은 $Matches 자동 변수에 저장됩니다.

예: Get-Process | Where-Object ProcessName -NotMatch "PowerShell"

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
별칭:INotMatch
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Property

입력 개체의 속성 이름을 지정합니다. 속성은 정적 속성이 아닌 인스턴스 속성이어야 합니다. 위치 매개 변수이므로 속성이름은 선택 사항입니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:String
Position:0
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Value

속성 값을 지정합니다. 매개 변수 이름(Value)은 선택 사항입니다. 이 매개 변수는 다음 비교 매개 변수와 함께 사용할 때 와일드카드 문자를 허용합니다.

  • CLike
  • CNotLike
  • 같이
  • NotLike

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:PSObject
Position:1
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:True

입력

PSObject

모든 개체를 이 cmdlet으로 파이프할 수 있습니다.

출력

Object

이 cmdlet은 입력 개체 집합에서 선택한 항목을 반환합니다.

참고

PowerShell에는 Where-Object다음과 같은 별칭이 포함되어 있습니다.

  • 모든 플랫폼:
    • ?
    • where

Windows PowerShell 4.0부터 컬렉션에 사용하기 위해 WhereForEach 메서드가 추가되었습니다.

이러한 메서드에 대한 자세한 내용은 about_arrays