Where-Object
Selecciona los objetos de una colección basándose en sus valores de propiedad.
Sintaxis
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
El Where-Object
cmdlet selecciona objetos que tienen valores de propiedad concretos de la colección de objetos que se le pasan. Por ejemplo, puede usar el Where-Object
cmdlet para seleccionar archivos creados después de una fecha determinada, eventos con un identificador determinado o equipos que usan una versión determinada de Windows.
A partir de Windows PowerShell 3.0, hay dos maneras diferentes de construir un Where-Object
comando.
Bloque de script. Puede utilizar un bloque de script para especificar el nombre de propiedad, un operador de comparación y un valor de propiedad.
Where-Object
devuelve todos los objetos para los que la instrucción de bloque de script es true.Por ejemplo, el comando siguiente obtiene procesos en la
Normal
clase priority, es decir, procesa donde el valor de la propiedad PriorityClass es igual aNormal
.Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}
Todos los operadores de comparación de PowerShell son válidos en el formato de bloque de script. Para obtener más información, consulte about_Comparison_Operators.
Instrucción de comparación. También puede escribir una instrucción de comparación, que es mucho más parecida al lenguaje natural. Las instrucciones de comparación se incorporaron en Windows PowerShell 3.0.
Por ejemplo, los siguientes comandos también obtienen procesos que tienen una clase de prioridad de
Normal
. Estos comandos son equivalentes y puede usarlos indistintamente.Get-Process | Where-Object -Property PriorityClass -EQ -Value "Normal"
Get-Process | Where-Object PriorityClass -EQ "Normal"
A partir de Windows PowerShell 3.0,
Where-Object
agrega operadores de comparación como parámetros en unWhere-Object
comando. A menos que especifique, todos los operadores distinguen entre mayúsculas y minúsculas. Antes de Windows PowerShell 3.0, los operadores de comparación en el lenguaje de PowerShell solo se pueden usar en bloques de scripts.
Cuando se proporciona una única propiedad a Where-Object
, el cmdlet trata el valor de la propiedad como una expresión booleana. Cuando el valor de length de la propiedad no es cero, la expresión se evalúa como $true
. Por ejemplo: ('hi', '', 'there') | Where-Object Length
El ejemplo anterior es funcionalmente equivalente a:
('hi', '', 'there') | Where-Object Length -GT 0
('hi', '', 'there') | Where-Object { $_.Length -gt 0 }
Para obtener más información sobre cómo PowerShell evalúa los valores booleanos, consulte about_Booleans.
Ejemplos
Ejemplo 1: Obtener servicios detenidos
Estos comandos obtienen una lista de todos los servicios que se detienen. La $_
variable automática representa cada objeto que se pasa al Where-Object
cmdlet .
El primer comando usa el formato de bloque de script; el segundo comando usa el formato de instrucción de comparación. Los comandos filtran los servicios de la misma manera y devuelven la misma salida. Solo la sintaxis es diferente.
Get-Service | Where-Object { $_.Status -eq "Stopped" }
Get-Service | Where-Object Status -EQ "Stopped"
Ejemplo 2: Obtención de procesos basados en el conjunto de trabajo
Estos comandos enumeran los procesos que tienen un conjunto de trabajo superior a 250 megabytes (MB). Los comandos filtran los procesos de la misma manera y devuelven la misma salida. Solo la sintaxis es diferente.
Get-Process | Where-Object { $_.WorkingSet -GT 250MB }
Get-Process | Where-Object WorkingSet -GT 250MB
Ejemplo 3: Obtención de procesos basados en el nombre del proceso
Estos comandos obtienen los procesos que tienen un valor de propiedad ProcessName que comienza con la letra p
. El operador Match permite usar coincidencias de expresiones regulares.
Los comandos filtran los procesos de la misma manera y devuelven la misma salida. Solo la sintaxis es diferente.
Get-Process | Where-Object { $_.ProcessName -Match "^p.*" }
Get-Process | Where-Object ProcessName -Match "^p.*"
Ejemplo 4: Usar el formato de instrucción de comparación
En este ejemplo se muestra cómo usar el nuevo formato de instrucción de comparación del Where-Object
cmdlet .
El primer comando usa el formato de instrucción de comparación. No usa ningún alias e incluye el nombre de cada parámetro.
El segundo comando es el uso más natural del formato de comando de comparación. El comando sustituye el where
alias del nombre del Where-Object
cmdlet y omite todos los nombres de parámetro opcionales.
Los comandos filtran los procesos de la misma manera y devuelven la misma salida. Solo la sintaxis es diferente.
Get-Process | Where-Object -Property Handles -GE -Value 1000
Get-Process | where Handles -GE 1000
Ejemplo 5: Obtener comandos basados en propiedades
En este ejemplo se muestra cómo escribir comandos que devuelven elementos que son True o False o que tiene cualquier valor para una propiedad especificada. En cada ejemplo se muestran los formatos de bloque de script y instrucción de comparación para el comando .
Los comandos filtran su entrada de la misma manera y devuelven la misma salida. Solo la sintaxis es diferente.
# 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 }
Ejemplo 6: Uso de varias condiciones
Get-Module -ListAvailable | Where-Object {
($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri
}
En este ejemplo se muestra cómo crear un Where-Object
comando con varias condiciones.
Este comando obtiene los módulos no básicos que admiten la característica de ayuda actualizable. El comando usa el parámetro ListAvailable del Get-Module
cmdlet para obtener todos los módulos del equipo. Un operador de canalización (|
) envía los módulos al Where-Object
cmdlet , que obtiene módulos cuyos nombres no comienzan por Microsoft
o PS
y tienen un valor para la propiedad HelpInfoURI , que indica a PowerShell dónde encontrar los archivos de ayuda actualizados para el módulo. El -and
operador lógico conecta las instrucciones de comparación.
En el ejemplo se utiliza el formato de comando de bloque de script. Los operadores lógicos, como -and
,-or
y -not
solo son válidos en bloques de script. No se pueden usar en el formato de instrucción de comparación de un Where-Object
comando.
- Para obtener más información sobre los operadores lógicos de PowerShell, consulte about_Logical_Operators.
- Para obtener más información sobre la característica Ayuda actualizable, consulte about_Updatable_Help.
Parámetros
-CContains
Indica que este cmdlet obtiene objetos de una colección si el valor de propiedad del objeto es una coincidencia exacta para el valor especificado. Esta operación distingue mayúsculas de minúsculas.
Por ejemplo: Get-Process | Where-Object ProcessName -CContains "svchost"
CContains hace referencia a una colección de valores y es true si la colección contiene un elemento que es una coincidencia exacta para el valor especificado. Si la entrada es un único objeto, PowerShell lo convierte en una colección de un objeto .
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CEQ
Indica que este cmdlet obtiene objetos si el valor de propiedad es el mismo que el valor especificado. Esta operación distingue mayúsculas de minúsculas.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CGE
Indica que este cmdlet obtiene objetos si el valor de propiedad es mayor o igual que el valor especificado. Esta operación distingue mayúsculas de minúsculas.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CGT
Indica que este cmdlet obtiene objetos si el valor de propiedad es mayor que el valor especificado. Esta operación distingue mayúsculas de minúsculas.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CIn
Indica que este cmdlet obtiene objetos si el valor de propiedad incluye el valor especificado. Esta operación distingue mayúsculas de minúsculas.
Por ejemplo: Get-Process | Where-Object -Value "svchost" -CIn ProcessName
CIn es similar a CContains, salvo que las posiciones de propiedad y valor se invierten. Por ejemplo, ambas instrucciones siguientes son True.
"abc", "def" -CContains "abc"
"abc" -CIn "abc", "def"
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CLE
Indica que este cmdlet obtiene objetos si el valor de propiedad es menor o igual que el valor especificado. Esta operación distingue mayúsculas de minúsculas.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CLike
Indica que este cmdlet obtiene objetos si el valor de propiedad coincide con un valor que incluye caracteres comodín (*
). Esta operación distingue mayúsculas de minúsculas.
Por ejemplo: Get-Process | Where-Object ProcessName -CLike "*host"
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CLT
Indica que este cmdlet obtiene objetos si el valor de propiedad es menor que el valor especificado. Esta operación distingue mayúsculas de minúsculas.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CMatch
Indica que este cmdlet obtiene objetos si el valor de propiedad coincide con la expresión regular especificada. Esta operación distingue mayúsculas de minúsculas. Cuando la entrada es un solo objeto, el valor coincidente se guarda en la $Matches
variable automática.
Por ejemplo: Get-Process | Where-Object ProcessName -CMatch "Shell"
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CNE
Indica que este cmdlet obtiene objetos si el valor de propiedad es diferente del valor especificado. Esta operación distingue mayúsculas de minúsculas.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CNotContains
Indica que este cmdlet obtiene objetos si el valor de propiedad del objeto no es una coincidencia exacta para el valor especificado. Esta operación distingue mayúsculas de minúsculas.
Por ejemplo: Get-Process | Where-Object ProcessName -CNotContains "svchost"
NotContains y CNotContains hacen referencia a una colección de valores y son true cuando la colección no contiene ningún elemento que sea una coincidencia exacta para el valor especificado. Si la entrada es un único objeto, PowerShell lo convierte en una colección de un objeto .
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CNotIn
Indica que este cmdlet obtiene objetos si el valor de propiedad no es una coincidencia exacta para el valor especificado. Esta operación distingue mayúsculas de minúsculas.
Por ejemplo: Get-Process | Where-Object -Value "svchost" -CNotIn -Property ProcessName
Los operadores NotIn y CNotIn se asemejan a NotContains y CNotContains, excepto que las posiciones de propiedad y valor se invierten. Por ejemplo, las instrucciones siguientes son True.
"abc", "def" -CNotContains "Abc"
"abc" -CNotIn "Abc", "def"
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CNotLike
Indica que este cmdlet obtiene objetos si el valor de la propiedad no coincide con un valor que incluye caracteres comodín. Esta operación distingue mayúsculas de minúsculas.
Por ejemplo: Get-Process | Where-Object ProcessName -CNotLike "*host"
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CNotMatch
Indica que este cmdlet obtiene objetos si el valor de propiedad no coincide con la expresión regular especificada. Esta operación distingue mayúsculas de minúsculas. Cuando la entrada es un solo objeto, el valor coincidente se guarda en la $Matches
variable automática.
Por ejemplo: Get-Process | Where-Object ProcessName -CNotMatch "Shell"
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Contains
Indica que este cmdlet obtiene objetos si algún elemento del valor de propiedad del objeto es una coincidencia exacta para el valor especificado.
Por ejemplo: Get-Process | Where-Object ProcessName -Contains "Svchost"
Si la entrada es un único objeto, PowerShell lo convierte en una colección de un objeto .
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | IContains |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-EQ
Indica que este cmdlet obtiene objetos si el valor de propiedad es el mismo que el valor especificado.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | IEQ |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-FilterScript
Especifica el bloque de script que se usa para filtrar los objetos. Incluya el bloque de script entre llaves ({}
).
El nombre del parámetro, FilterScript, es opcional.
Tipo: | ScriptBlock |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-GE
Indica que este cmdlet obtiene objetos si el valor de propiedad es mayor o igual que el valor especificado.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | IGE |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-GT
Indica que este cmdlet obtiene objetos si el valor de propiedad es mayor que el valor especificado.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | IGT |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-In
Indica que este cmdlet obtiene objetos si el valor de propiedad coincide con cualquiera de los valores especificados. Por ejemplo:
Get-Process | Where-Object -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"
Si la entrada es un único objeto, PowerShell lo convierte en una colección de un objeto .
Si el valor de propiedad de un objeto es una matriz, PowerShell usa la igualdad de referencia para determinar una coincidencia. Where-Object
devuelve el objeto solo si el valor del parámetro Property y cualquier valor de Value son la misma instancia de un objeto.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | IIn |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-InputObject
Especifica los objetos que se van a filtrar. También puede canalizar los objetos a Where-Object
.
Cuando se usa el parámetro InputObject con Where-Object
, en lugar de canalizar los resultados del comando a Where-Object
, el cmdlet trata inputObject como un solo objeto. Esto es true incluso si el valor es una colección que es el resultado de un comando, como -InputObject (Get-Process)
.
Dado que InputObject no puede devolver propiedades individuales de una matriz o colección de objetos, se recomienda que, si usa Where-Object
para filtrar una colección de objetos para esos objetos que tienen valores específicos en propiedades definidas, se usa Where-Object
en la canalización, como se muestra en los ejemplos de este tema.
Tipo: | PSObject |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Is
Indica que este cmdlet obtiene objetos si el valor de propiedad es una instancia del tipo de .NET especificado. Escriba el nombre de tipo entre corchetes.
Por ejemplo: Get-Process | Where-Object StartTime -Is [DateTime]
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-IsNot
Indica que este cmdlet obtiene objetos si el valor de propiedad no es una instancia del tipo .NET especificado.
Por ejemplo: Get-Process | where StartTime -IsNot [DateTime]
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-LE
Indica que este cmdlet obtiene objetos si el valor de propiedad es menor o igual que el valor especificado.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | ILE |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Like
Indica que este cmdlet obtiene objetos si el valor de propiedad coincide con un valor que incluye caracteres comodín (*
).
Por ejemplo: Get-Process | Where-Object ProcessName -Like "*host"
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | ILike |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-LT
Indica que este cmdlet obtiene objetos si el valor de propiedad es menor que el valor especificado.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | ILT |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Match
Indica que este cmdlet obtiene objetos si el valor de propiedad coincide con la expresión regular especificada. Cuando la entrada es un solo objeto, el valor coincidente se guarda en la $Matches
variable automática.
Por ejemplo: Get-Process | Where-Object ProcessName -Match "shell"
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | IMatch |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-NE
Indica que este cmdlet obtiene objetos si el valor de propiedad es diferente del valor especificado.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | INE |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Not
Indica que este cmdlet obtiene objetos si la propiedad no existe o tiene un valor de $null
o $false
.
Por ejemplo: Get-Service | Where-Object -Not "DependentServices"
Este parámetro se introdujo en Windows PowerShell 6.1.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-NotContains
Indica que este cmdlet obtiene objetos si ninguno de los elementos del valor de propiedad es una coincidencia exacta para el valor especificado.
Por ejemplo: Get-Process | Where-Object ProcessName -NotContains "Svchost"
NotContains hace referencia a una colección de valores y es true si la colección no contiene ningún elemento que sea una coincidencia exacta para el valor especificado. Si la entrada es un único objeto, PowerShell lo convierte en una colección de un objeto .
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | INotContains |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-NotIn
Indica que este cmdlet obtiene objetos si el valor de propiedad no es una coincidencia exacta para ninguno de los valores especificados.
Por ejemplo: Get-Process | Where-Object -Value "svchost" -NotIn -Property ProcessName
Si el valor de Value es un único objeto, PowerShell lo convierte en una colección de un objeto .
Si el valor de propiedad de un objeto es una matriz, PowerShell usa la igualdad de referencia para determinar una coincidencia. Where-Object
devuelve el objeto solo si el valor de Property y cualquier valor de Value no son la misma instancia de un objeto.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | INotIn |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-NotLike
Indica que este cmdlet obtiene objetos si el valor de la propiedad no coincide con un valor que incluye caracteres comodín (*
).
Por ejemplo: Get-Process | Where-Object ProcessName -NotLike "*host"
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | INotLike |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-NotMatch
Indica que este cmdlet obtiene objetos cuando el valor de propiedad no coincide con la expresión regular especificada. Cuando la entrada es un solo objeto, el valor coincidente se guarda en la $Matches
variable automática.
Por ejemplo: Get-Process | Where-Object ProcessName -NotMatch "PowerShell"
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Alias: | INotMatch |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Property
Especifica el nombre de una propiedad del objeto de entrada. La propiedad debe ser una propiedad de instancia, no una propiedad estática. Se trata de un parámetro posicional, por lo que el nombre, Property, es opcional.
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | String |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Value
Especifica un valor de propiedad. El nombre del parámetro, Value, es opcional. Este parámetro acepta caracteres comodín cuando se usa con los siguientes parámetros de comparación:
- CLike
- CNotLike
- Like
- NotLike
Este parámetro se incorporó en Windows PowerShell 3.0.
Tipo: | PSObject |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | True |
Entradas
Puede canalizar cualquier objeto a este cmdlet.
Salidas
Este cmdlet devuelve los elementos seleccionados del conjunto de objetos de entrada.
Notas
PowerShell incluye los siguientes alias para Where-Object
:
- Todas las plataformas:
?
where
A partir de Windows PowerShell 4.0, Where
y ForEach
se agregaron métodos para su uso con colecciones.
Puede obtener más información sobre estos métodos aquí about_arrays