Crea un filtro que controla los objetos que se van a pasar junto con una canalización de comandos.

Sintaxis

Where-Object [-FilterScript] <scriptblock> [-InputObject <psobject>] [<CommonParameters>]

Descripción

El cmdlet Where-Object selecciona los objetos del conjunto de objetos que se le pasan. Utiliza un bloque de script como filtro y evalúa el bloque de script para cada objeto. Si el resultado de la evaluación es True, se devuelve el objeto. Si el resultado de la evaluación no es True, se omite el objeto.

Parámetros

-FilterScript <scriptblock>

Especifica el bloque de script que se utiliza para filtrar los objetos. El bloque de script debe escribirse entre llaves ( {} ).

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-InputObject <psobject>

Especifica los objetos que se van a filtrar. También se pueden canalizar los objetos a Where-Object.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

true (ByValue)

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

System.Management.Automation.PSObject

Se pueden canalizar a Where-Object los objetos que se van a filtrar.

Salidas

Ejemplo 1

C:\PS>get-service | where-object {$_.Status -eq "Stopped"}

Descripción
-----------
Este comando obtiene una lista de todos los servicios detenidos actualmente. El símbolo "$" representa cada objeto que se pasa al cmdlet Where-Object.






Ejemplo 2

C:\PS>get-process | where-object {$_.workingset -gt 25000*1024}

Descripción
-----------
Este comando muestra una lista de los procesos cuyo espacio de trabajo es superior a 25.000 kilobytes (KB). Dado que el valor de la propiedad WorkingSet se almacena en bytes, 25.000 se multiplica por 1.024.






Ejemplo 3

C:\PS>get-process | where-object { $_.ProcessName -match "^p.*" }

Descripción
-----------
Este comando obtiene los procesos cuyo valor de la propiedad ProcessName comienza con la letra "p". El operador de coincidencia permite utilizar expresiones regulares dentro de una cláusula Where.






Ejemplo 4

C:\PS>get-process -name svchost | where-object {$True}

Descripción
-----------
Este comando muestra una lista de todos los procesos denominados "svchost". 

El cmdlet Where-Object evalúa el bloque de script, que suele incluir una referencia al objeto que está actualmente en la canalización ($_), y convierte los resultados a un tipo booleano: True o False. Si el resultado es True, se devuelve el objeto. De lo contrario, se descarta. 

En este caso, el bloque de script se limita a devolver True, de modo que se devuelven todos los objetos.









Tabla de contenido