Compartir a través de


Where-Object

Selects objects from a collection based on their property values.

Sintaxis

EqualSet (Es el valor predeterminado).

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-EQ]
    [<CommonParameters>]

ScriptBlockSet

Where-Object
    [-FilterScript] <ScriptBlock>
    [-InputObject <PSObject>]
    [<CommonParameters>]

MatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -Match
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CEQ
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NE
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNE
    [-InputObject <PSObject>]
    [<CommonParameters>]

GreaterThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -GT
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveGreaterThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CGT
    [-InputObject <PSObject>]
    [<CommonParameters>]

LessThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -LT
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveLessThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CLT
    [-InputObject <PSObject>]
    [<CommonParameters>]

GreaterOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -GE
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveGreaterOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CGE
    [-InputObject <PSObject>]
    [<CommonParameters>]

LessOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -LE
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveLessOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CLE
    [-InputObject <PSObject>]
    [<CommonParameters>]

LikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -Like
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveLikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CLike
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotLikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NotLike
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotLikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNotLike
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveMatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CMatch
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotMatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NotMatch
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotMatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNotMatch
    [-InputObject <PSObject>]
    [<CommonParameters>]

ContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -Contains
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CContains
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NotContains
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNotContains
    [-InputObject <PSObject>]
    [<CommonParameters>]

InSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -In
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveInSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CIn
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotInSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NotIn
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotInSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNotIn
    [-InputObject <PSObject>]
    [<CommonParameters>]

IsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -Is
    [-InputObject <PSObject>]
    [<CommonParameters>]

IsNotSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -IsNot
    [-InputObject <PSObject>]
    [<CommonParameters>]

Description

The Where-Object cmdlet selects objects that have particular property values from the collection of objects that are passed to it. For example, you can use the Where-Object cmdlet to select files that were created after a certain date, events with a particular ID, or computers that use a particular version of Windows.

Starting in Windows PowerShell 3.0, there are two different ways to construct a Where-Object command.

  • Script block syntax. You can use a script block to specify the property name, a comparison operator, and a property value. Where-Object returns all objects for which the script block statement is true.

    For example, the following command gets processes where the value of the PriorityClass property equals Normal.

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

    All PowerShell comparison operators are valid in the script block format. For more information, see about_Comparison_Operators.

  • Simplified syntax. To enable the simiplified syntax, Where-Object includes 31 switch parameters that represent the comparison operators. The simplified syntax is easier to read and write than the script block syntax. You can combine one of the switch parameters with the Property and Value parameters to create a command that filters objects based on the values of their properties.

    For example, the following commands also get processes that have a priority class of Normal. These commands are equivalent and you can use them interchangeably.

    Get-Process | Where-Object -Property PriorityClass -Value Normal -EQ

    Get-Process | Where-Object PriorityClass -EQ Normal

    As shown in the example, the parameter names Property and Value are optional. The Property parameter is a positional parameter mapped to position 0. The Value parameter is a positional parameter mapped to position 1. The switch parameter, used to specify the comparison, can be used in any position.

    The simplified syntax was introduced in Windows PowerShell 3.0. For more information, see about_Simplified_Syntax.

When you provide a single Property to Where-Object, the cmdlet treats the value of the property as a boolean expression. When the value of the property's Length isn't zero, the expression evaluates to $true. For example: ('hi', '', 'there') | Where-Object Length

The previous example is functionally equivalent to:

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

For more information about how PowerShell evaluates booleans, see about_Booleans.

Ejemplos

Example 1: Get stopped services

These commands get a list of all services that are stopped. The $_ automatic variable represents each object that's passed to the Where-Object cmdlet.

The first command uses the script block format, the second command uses the comparison statement format. The commands filter the services the same way and return the same output. Only the syntax is different.

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

Example 2: Get processes based on working set

These commands list processes that have a working set greater than 250 megabytes (MB). The commands filter the processes the same way and return the same output. Only the syntax is different.

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

Example 3: Get processes based on process name

These commands get the processes that have a ProcessName property value that begins with the letter p. The -match operator and Match parameter let you use regular expression matches.

The commands filter the processes the same way and return the same output. Only the syntax is different.

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

Example 4: Use the comparison statement format

This example shows how to use the new comparison statement format of the Where-Object cmdlet.

The first command uses the comparison statement format. It doesn't use any aliases and includes the name for every parameter.

The second command is the more natural use of the comparison command format. The command substitutes the where alias for the Where-Object cmdlet name and omits all optional parameter names.

The commands filter the processes the same way and return the same output. Only the syntax is different.

Get-Process | Where-Object -Property Handles -GE -Value 1000
Get-Process | where Handles -GE 1000

Example 5: Get commands based on properties

This example shows how to write commands that return items that are true or false or have any value for a specified property. Each example shows both the script block and comparison statement formats for the command.

The commands filter their input the same way and return the same output. Only the syntax is different.

# 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 { !$_.PSIsContainer }
# You cannot use the -not operator (!) in the comparison statement format
# of the command.
Get-ChildItem | Where-Object PSIsContainer -EQ $false

Example 6: Use multiple conditions

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

This example shows how to create a Where-Object command with multiple conditions.

This command gets non-core modules that support the Updatable Help feature. The command uses the ListAvailable parameter of the Get-Module cmdlet to get all modules on the computer. A pipeline operator (|) sends the modules to the Where-Object cmdlet, which gets modules whose names don't begin with Microsoft or PS, and have a value for the HelpInfoURI property, which tells PowerShell where to find updated help files for the module. The -and logical operator connects the comparison statements.

The example uses the script block command format. Logical operators, such as -and,-or, and -not are valid only in script blocks. You can't use them in the comparison statement format of a Where-Object command.

Parámetros

-CContains

Indicates that this cmdlet gets objects from a collection if the property value of the object is an exact match for the specified value. This operation is case-sensitive.

For example: Get-Process | Where-Object ProcessName -CContains "svchost"

CContains refers to a collection of values and is true if the collection contains an item that is an exact match for the specified value. If the input is a single object, PowerShell converts it to a collection of one object.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveContainsSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CEQ

Indicates that this cmdlet gets objects if the property value is the same as the specified value. This operation is case-sensitive.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveEqualSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CGE

Indicates that this cmdlet gets objects if the property value is greater than or equal to the specified value. This operation is case-sensitive.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveGreaterOrEqualSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CGT

Indicates that this cmdlet gets objects if the property value is greater than the specified value. This operation is case-sensitive.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveGreaterThanSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CIn

Indicates that this cmdlet gets objects if the property value includes the specified value. This operation is case-sensitive.

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

CIn resembles CContains, except that the property and value positions are reversed. For example, the following statements are both true.

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

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

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveInSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CLE

Indicates that this cmdlet gets objects if the property value is less-than or equal to the specified value. This operation is case-sensitive.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveLessOrEqualSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CLike

Indicates that this cmdlet gets objects if the property value matches a value that includes wildcard characters (*). This operation is case-sensitive.

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

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveLikeSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CLT

Indicates that this cmdlet gets objects if the property value is less-than the specified value. This operation is case-sensitive.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveLessThanSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CMatch

Indicates that this cmdlet gets objects if the property value matches the specified regular expression. This operation is case-sensitive. When the input is a single object, the matched value is saved in the $Matches automatic variable.

For example: Get-Process | Where-Object ProcessName -CMatch "Shell"

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveMatchSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CNE

Indicates that this cmdlet gets objects if the property value is different than the specified value. This operation is case-sensitive.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveNotEqualSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CNotContains

Indicates that this cmdlet gets objects if the property value of the object isn't an exact match for the specified value. This operation is case-sensitive.

For example: Get-Process | Where-Object ProcessName -CNotContains "svchost"

NotContains and CNotContains refer to a collection of values and are true when the collection doesn't contain any items that are an exact match for the specified value. If the input is a single object, PowerShell converts it to a collection of one object.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveNotContainsSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CNotIn

Indicates that this cmdlet gets objects if the property value isn't an exact match for the specified value. This operation is case-sensitive.

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

NotIn and CNotIn operators resemble NotContains and CNotContains, except that the property and value positions are reversed. For example, the following statements are true.

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

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

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveNotInSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CNotLike

Indicates that this cmdlet gets objects if the property value doesn't match a value that includes wildcard characters. This operation is case-sensitive.

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

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveNotLikeSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CNotMatch

Indicates that this cmdlet gets objects if the property value doesn't match the specified regular expression. This operation is case-sensitive. When the input is a single object, the matched value is saved in the $Matches automatic variable.

For example: Get-Process | Where-Object ProcessName -CNotMatch "Shell"

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

CaseSensitiveNotMatchSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Contains

Indicates that this cmdlet gets objects if any item in the property value of the object is an exact match for the specified value.

For example: Get-Process | Where-Object ProcessName -Contains "Svchost"

If the input is a single object, PowerShell converts it to a collection of one object.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:IContains

Conjuntos de parámetros

ContainsSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-EQ

Indicates that this cmdlet gets objects if the property value is the same as the specified value.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:IEQ

Conjuntos de parámetros

EqualSet
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-FilterScript

Specifies the script block that's used to filter the objects. Enclose the script block in braces ({}).

The parameter name, FilterScript, is optional.

Propiedades del parámetro

Tipo:ScriptBlock
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

ScriptBlockSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-GE

Indicates that this cmdlet gets objects if the property value is greater than or equal to the specified value.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:IGE

Conjuntos de parámetros

GreaterOrEqualSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-GT

Indicates that this cmdlet gets objects if the property value is greater than the specified value.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:IGT

Conjuntos de parámetros

GreaterThanSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-In

Indicates that this cmdlet gets objects if the property value matches any of the specified values. For example:

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

If the input is a single object, PowerShell converts it to a collection of one object.

If the property value of an object is an array, PowerShell uses reference equality to determine a match. Where-Object returns the object only if the value of the Property parameter and any value of Value are the same instance of an object.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:IIn

Conjuntos de parámetros

InSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-InputObject

Specifies the objects to filter. You can also pipe the objects to Where-Object.

When you use the InputObject parameter with Where-Object, instead of piping command results to Where-Object, the cmdlet treats the InputObject as a single object. This is true even if the value is a collection that's the result of a command, such as -InputObject (Get-Process).

Because InputObject can't return individual properties from an array or collection of objects, we recommend that, if you use Where-Object to filter a collection of objects for those objects that have specific values in defined properties, you use Where-Object in the pipeline, as shown in the examples in this topic.

Propiedades del parámetro

Tipo:PSObject
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Is

Indicates that this cmdlet gets objects if the property value is an instance of the specified .NET type. Enclose the type name in square brackets.

For example, Get-Process | Where-Object StartTime -Is [datetime]

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

IsSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-IsNot

Indicates that this cmdlet gets objects if the property value isn't an instance of the specified .NET type.

For example, Get-Process | where StartTime -IsNot [datetime]

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

IsNotSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-LE

Indicates that this cmdlet gets objects if the property value is less than or equal to the specified value.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:ILE

Conjuntos de parámetros

LessOrEqualSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Like

Indicates that this cmdlet gets objects if the property value matches a value that includes wildcard characters (*).

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

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:ILike

Conjuntos de parámetros

LikeSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-LT

Indicates that this cmdlet gets objects if the property value is less than the specified value.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:ILT

Conjuntos de parámetros

LessThanSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Match

Indicates that this cmdlet gets objects if the property value matches the specified regular expression. When the input is a single object, the matched value is saved in the $Matches automatic variable.

For example: Get-Process | Where-Object ProcessName -Match "shell"

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:IMatch

Conjuntos de parámetros

MatchSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-NE

Indicates that this cmdlet gets objects if the property value is different than the specified value.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:INE

Conjuntos de parámetros

NotEqualSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-NotContains

Indicates that this cmdlet gets objects if none of the items in the property value is an exact match for the specified value.

For example: Get-Process | Where-Object ProcessName -NotContains "Svchost"

NotContains refers to a collection of values and is true if the collection doesn't contain any items that are an exact match for the specified value. If the input is a single object, PowerShell converts it to a collection of one object.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:INotContains

Conjuntos de parámetros

NotContainsSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-NotIn

Indicates that this cmdlet gets objects if the property value isn't an exact match for any of the specified values.

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

If the value of Value is a single object, PowerShell converts it to a collection of one object.

If the property value of an object is an array, PowerShell uses reference equality to determine a match. Where-Object returns the object only if the value of Property and any value of Value aren't the same instance of an object.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:INotIn

Conjuntos de parámetros

NotInSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-NotLike

Indicates that this cmdlet gets objects if the property value doesn't match a value that includes wildcard characters (*).

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

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:INotLike

Conjuntos de parámetros

NotLikeSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-NotMatch

Indicates that this cmdlet gets objects when the property value doesn't match the specified regular expression. When the input is a single object, the matched value is saved in the $Matches automatic variable.

For example: Get-Process | Where-Object ProcessName -NotMatch "powershell"

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:INotMatch

Conjuntos de parámetros

NotMatchSet
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Property

Specifies the name of a property of the input object. The property must be an instance property, not a static property. This is a positional parameter, so the name, Property, is optional.

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

EqualSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
MatchSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveEqualSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
NotEqualSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveNotEqualSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
GreaterThanSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveGreaterThanSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
LessThanSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveLessThanSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
GreaterOrEqualSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveGreaterOrEqualSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
LessOrEqualSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveLessOrEqualSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
LikeSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveLikeSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
NotLikeSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveNotLikeSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveMatchSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
NotMatchSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveNotMatchSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
ContainsSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveContainsSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
NotContainsSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveNotContainsSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
InSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveInSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
NotInSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveNotInSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
IsSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
IsNotSet
Posición:0
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Value

Specifies a property value. The parameter name, Value, is optional. This parameter accepts wildcard characters when used with the following comparison parameters:

  • CLike
  • CNotLike
  • Like
  • NotLike

This parameter was introduced in Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:PSObject
Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

EqualSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
MatchSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveEqualSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
NotEqualSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveNotEqualSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
GreaterThanSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveGreaterThanSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
LessThanSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveLessThanSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
GreaterOrEqualSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveGreaterOrEqualSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
LessOrEqualSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveLessOrEqualSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
LikeSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveLikeSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
NotLikeSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveNotLikeSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveMatchSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
NotMatchSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveNotMatchSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
ContainsSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveContainsSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
NotContainsSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveNotContainsSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
InSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveInSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
NotInSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
CaseSensitiveNotInSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
IsSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
IsNotSet
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Entradas

PSObject

You can pipe any object to this cmdlet.

Salidas

Object

This cmdlet returns the selected items from the input object set.

Notas

Windows PowerShell includes the following aliases for Where-Object:

  • ?
  • where

Starting in Windows PowerShell 4.0, Where and ForEach methods were added for use with collections.

You can read more about these methods here about_Arrays