Where-Object

속성 값에 따라 컬렉션에서 개체를 선택합니다.

Syntax

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

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

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

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

    예를 들어 다음 명령은 PriorityClass 속성의 값이 같은 Normal프로세스인 우선 순위 클래스의 프로세스를 가져옵니다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 언어의 비교 연산자를 스크립트 블록에서만 사용할 수 있었습니다.

단일 속성을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: 중지된 서비스 가져오기

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

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

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: 비교 문 형식 사용

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

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

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

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

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 명령을 만드는 방법을 보여 있습니다.

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

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

  • PowerShell 논리 연산자에 대한 자세한 내용은 about_Logical_Operators 참조하세요.
  • Updatable 도움말 기능에 대한 자세한 내용은 about_Updatable_Help 참조하세요.

매개 변수

-CContains

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

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

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CEQ

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CGE

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CGT

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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에서 도입되었습니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CLE

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CLike

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

예: Get-Process | Where-Object 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

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CMatch

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

예: Get-Process | Where-Object 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

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CNotContains

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

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

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CNotIn

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

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

NotInCNotIn 연산자는 속성과 값 위치가 역방향이라는 점을 제외하고 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

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

예: Get-Process | Where-Object 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

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

예: Get-Process | Where-Object 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

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

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

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

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

Type:SwitchParameter
Aliases:IContains
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-EQ

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

이 매개 변수는 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

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

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

Type:SwitchParameter
Aliases:IGE
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-GT

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

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

Type:SwitchParameter
Aliases:IGT
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-In

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

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

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

개체의 속성 값이 배열인 경우 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수도 있습니다.

명령 결과를 Where-Object파이핑하는 대신 InputObject 매개 변수를 Where-Object사용하여 cmdlet은 InputObject를 단일 개체로 처리합니다. 값이 명령의 결과인 컬렉션인 경우에도 마찬가지입니다(예: -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 형식의 인스턴스인 경우 이 cmdlet이 개체를 가져오고 있음을 나타냅니다. 형식 이름을 대괄호로 묶습니다.

예를 들어 Get-Process | Where-Object 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 형식의 인스턴스가 아닌 경우 이 cmdlet이 개체를 가져오고 있음을 나타냅니다.

예를 들어 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

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

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

Type:SwitchParameter
Aliases:ILE
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Like

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

예: Get-Process | Where-Object 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

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

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

Type:SwitchParameter
Aliases:ILT
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Match

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

예: Get-Process | Where-Object 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

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

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

Type:SwitchParameter
Aliases:INE
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Not

속성이 없거나 값 $null 이 있는 경우 이 cmdlet이 개체를 가져오거나 $false

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NotContains

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

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

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

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

Type:SwitchParameter
Aliases:INotContains
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NotIn

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

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

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

개체의 속성 값이 배열인 경우 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

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

예: Get-Process | Where-Object 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

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

예: Get-Process | Where-Object 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

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

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

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Value

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

  • CLike
  • CNotLike
  • Like
  • NotLike

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

Type:PSObject
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

입력

PSObject

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

출력

Object

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

참고

PowerShell에는 다음 별칭이 포함됩니다.Where-Object

  • 모든 플랫폼:
    • ?
    • where

Windows PowerShell 4.0 Where 부터 컬렉션에 ForEach 사용할 메서드가 추가되었습니다.

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