Where-Object
Selecciona los objetos de una colección basándose en sus valores de propiedad.
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
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 los archivos que se crearon 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 siguiente comando obtiene los procesos de la
Normal
clase priority, es decir, los procesos en los que 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 se pueden utilizar 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 del lenguaje PowerShell solo se podían usar en bloques de script.
Cuando se proporciona una única propiedad a Where-Object
, el valor de la propiedad se trata como una expresión booleana. Cuando el valor de Length 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 se evalúan los valores booleanos, consulte about_Booleans.
Ejemplos
Ejemplo 1: Obtener servicios detenidos
Estos comandos obtienen una lista de todos los servicios que están detenidos actualmente. 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 son equivalentes y se pueden utilizar indistintamente.
Get-Service | Where-Object {$_.Status -eq "Stopped"}
Get-Service | where Status -eq "Stopped"
Ejemplo 2: Obtención de procesos basados en un conjunto de trabajo
Estos comandos enumeran los procesos que tienen un espacio de trabajo superior a 250 megabytes (MB). La sintaxis de scriptblock y statement son equivalentes y se pueden usar indistintamente.
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 por la letra p
. El operador Match permite usar coincidencias de expresiones regulares.
La sintaxis de scriptblock y statement son equivalentes y se pueden usar indistintamente.
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. En este comando, no se utilizan alias y todos los parámetros incluyen el nombre de parámetro.
El segundo comando es el uso más natural del formato de comando de comparación. El where
alias se sustituye por el nombre del Where-Object
cmdlet y se omiten todos los nombres de parámetro opcionales.
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 de instrucción de comparación para el comando .
# Use Where-Object to get commands that have any value for the OutputType property of the command.
# This omits commands that do not have an OutputType property and those that have an OutputType
# property, but no property value.
Get-Command | where OutputType
Get-Command | where {$_.OutputType}
# Use Where-Object to get objects that are containers.
# This gets objects that have the **PSIsContainer** property with a value of $True and excludes all
# others.
Get-ChildItem | where PSIsContainer
Get-ChildItem | where {$_.PSIsContainer}
# Finally, use the Not operator (!) to get objects that are not containers.
# This gets objects that do have the **PSIsContainer** property and those that have a value of
# $False for the **PSIsContainer** property.
Get-ChildItem | where {!$_.PSIsContainer}
# You cannot use the Not operator (!) in the comparison statement format of the command.
Get-ChildItem | where PSIsContainer -eq $False
Ejemplo 6: Uso de varias condiciones
Get-Module -ListAvailable | where {
($_.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 los 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. Las instrucciones de comparación están conectadas por el operador lógico And .
En el ejemplo se utiliza el formato de comando de bloque de script. Los operadores lógicos, como And yOr, 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 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 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 -Value "svchost" -CIn ProcessName
CIn es similar a CContains, salvo que se invierten las posiciones de propiedad y valor. 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 ProcessName -CLike "*host"
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 escalar, el valor coincidente se guarda en $Matches
variable automática.
Por ejemplo: Get-Process | where ProcessName -CMatch "Shell"
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNE
Indica que este cmdlet obtiene objetos si el valor de propiedad es diferente al valor especificado. Esta operación distingue mayúsculas de minúsculas.
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 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 coincida exactamente con 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 -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"
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotLike
Indica que este cmdlet obtiene objetos si el valor de 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 ProcessName -CNotLike "*host"
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 escalar, el valor coincidente se guarda en $Matches
variable automática.
Por ejemplo: Get-Process | where ProcessName -CNotMatch "Shell"
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 ProcessName -Contains "Svchost"
Si el valor de la propiedad contiene un único objeto, PowerShell lo convierte en una colección de un objeto .
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IContains |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EQ
Indica que este cmdlet obtiene objetos si el valor de la propiedad es el mismo que el valor especificado.
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IEQ |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilterScript
Especifica el bloque de script que se utiliza para filtrar los objetos. Incluya el bloque de script entre llaves ({}
).
El nombre del parámetro, FilterScript, es opcional.
Type: | ScriptBlock |
Position: | 0 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Aliases: | IGE |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Aliases: | IGT |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"
Si el valor del parámetro 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 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.
Type: | SwitchParameter |
Aliases: | IIn |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 valor InputObject se trata como un único 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.
Type: | PSObject |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | 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 StartTime -Is [DateTime]
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IsNot
Indica que este cmdlet obtiene objetos si el valor de propiedad no es una instancia del tipo de .NET especificado.
Por ejemplo: Get-Process | where StartTime -IsNot [DateTime]
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Aliases: | ILE |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 ProcessName -Like "*host"
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | ILike |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Aliases: | ILT |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Match
Indica que este cmdlet obtiene objetos si el valor de propiedad coincide con la expresión regular especificada. Cuando la entrada es escalar, el valor coincidente se guarda en $Matches
variable automática.
Por ejemplo: Get-Process | where ProcessName -Match "shell"
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IMatch |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NE
Indica que este cmdlet obtiene objetos si el valor de propiedad es diferente al valor especificado.
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INE |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 -Not "DependentServices"
Este parámetro se introdujo en Windows PowerShell 6.1.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 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.
Type: | SwitchParameter |
Aliases: | INotContains |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotIn
Indica que este cmdlet obtiene objetos si el valor de propiedad no es una coincidencia exacta para cualquiera de los valores especificados.
Por ejemplo: Get-Process | where -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.
Type: | SwitchParameter |
Aliases: | INotIn |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotLike
Indica que este cmdlet obtiene objetos si el valor de propiedad no coincide con un valor que incluye caracteres comodín (*
).
Por ejemplo: Get-Process | where ProcessName -NotLike "*host"
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INotLike |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 escalar, el valor coincidente se guarda en $Matches
variable automática.
Por ejemplo: Get-Process | where ProcessName -NotMatch "PowerShell"
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INotMatch |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
Especifica el nombre de una propiedad de objeto. El nombre del parámetro, Property, es opcional.
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | String |
Position: | 0 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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 parámetros de comparación siguientes:
- CLike
- CNotLike
- Como
- NotLike
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | Object |
Position: | 1 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | 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
Vínculos relacionados
Comentarios
Enviar y ver comentarios de