Filtrando procesos

Bueno, una de las cosas mas interesantes tambien de PS es que algunas cosas, son muy simples de expresar; por ejemplo:

> 1mb
1048576
> 1kb
1024
> 1kb+1kb
2048
> 1gb*2
2147483648
> 1gb*2/1024/1024/1024
2

y listo, esto nos sirve para muchas cosas, un ejemplo.

> Get-Process f*

Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
242 9 57944 67816 144 401,34 3360 firefox
134 3 1356 872 25 0,08 1904 FrameworkService

Bueno, aunque se desordenó aqui, es una tabla que nos muestra los procesos que comienzan con la letra "f"

Ahora, quiero saber cuales de estos me ocupan mas de 50MB de memoria (PM)

PS C:\> Get-Process f* | Where-Object{$_.PM -gt 50mb}

Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
231 9 58608 68520 142 406,56 3360 firefox


Descuartizamos....

Get-Process f*: Obtener procesos que comiencen con f
|: Pasamos el OBJETO que obtuvimos con get-process a...
Where-object: Filtramos: (donde el objeto....)
{: Comienzan las sentencias de filtrado
$_: Esto es un atajo para indicar "el objeto que me has tirado"...o sea, el resultado de Get-process)
.PM: Una propiedad del objeto get-process, que indica la cantidad de memoria en bytes que ocupa el proceso
-gt: Greater Than - Mas grande que...
50mb: llano y puro en PS: 50 Megabytes
}: Termino el filtrado


Como supe que PM era una propiedad de get-process?

Get-Process | Get-member

No hay comentarios.: