Where-Object filtra los resultados obtenidos por otro cmdlet.Ejemplo:
Get-Sertvice | Where-Object { $_.Name -like "s*" }
En este ejemplo Where-Object filtra el resultado de Get-Service y sólo muestra los servicios que empiezan por la letra S.Despues de este Where podríamos seguir filtrado con otro Where el resultado y añadirle por ejemplo otro filtro que mostrara sólo los procesos en funcionamiento.
Select-Object nos permite seleccionar los campos del objeto u objetos del resultado final que queremos obtener, de forma que no tengamos el objeto con todas sus propiedades sino solo las que nosotros necesitamos.Ejemplo:
Get-Process -Name s* | Select-Object id, Processname, Starttime -First 5
En este ejemplo seleccionamos el id,el nombre del proceso y el Start Time de los 5 primeros procesos.
Sort-Object permite ordenar objetos según la propiedad indicada.Ejemplo:
Get-Service | Select-Object -First 20 | Sort-Object Status
Este ejemplo ordena los 20 primeros servicios por su estado.