Selecciona las propiedades especificadas de un objeto o un conjunto de objetos. También puede seleccionar objetos únicos de una matriz de objetos o un número específico de objetos del principio o del final de una matriz de objetos.

Sintaxis

Select-Object [[-Property] <Object[]>] [-ExcludeProperty <string[]>] [-ExpandProperty <string>] [-First <int>] [-InputObject <psobject>] [-Last <int>] [-Skip <int>] [-Unique] [<CommonParameters>]

Select-Object [-Index <Int32[]>] [-InputObject <psobject>] [-Unique] [<CommonParameters>]

Descripción

El cmdlet Select-Object obtiene únicamente las propiedades especificadas de un objeto o conjunto de objetos. También puede seleccionar objetos únicos de una matriz de objetos o un número específico de objetos del principio o del final de una matriz de objetos.

Si se usa Select-Object para seleccionar determinadas propiedades, el cmdlet copia los valores de estas propiedades de los objetos de entrada y crea nuevos objetos con las propiedades especificadas y los valores copiados.

Use el parámetro Property para especificar las propiedades que desee seleccionar. O bien, utilice los parámetros First, Last, Unique, Skip e Index para seleccionar objetos concretos de una matriz de objetos de entrada. Para lograr un filtro de objetos más específico, use el cmdlet Where-Object.

Parámetros

-ExcludeProperty <string[]>

Quita las propiedades especificadas de la selección. Se permite el uso de caracteres comodín. Este parámetro solo es efectivo si el comando también incluye el parámetro Property.

El valor del parámetro Property puede ser una propiedad calculada, que es una tabla hash que especifica un nombre y calcula un valor para la presentación de la propiedad. Las claves válidas son:

-- Name o Label <cadena>

-- Expression <cadena> o <bloque de script>

Para obtener más información, vea los ejemplos.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

true

-ExpandProperty <string>

Especifica la propiedad que se va a seleccionar e indica que debe intentarse expandir esa propiedad. Se permite el uso de caracteres comodín en el nombre de la propiedad.

Por ejemplo, si la propiedad especificada es una matriz, se incluirán en el resultado todos los valores de la matriz. Si la propiedad contiene un objeto, se mostrarán en el resultado las propiedades de dicho objeto.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

true

-First <int>

Especifica el número de objetos que se van a seleccionar al comienzo de una matriz de objetos de entrada.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Index <Int32[]>

Selecciona objetos de una matriz basándose en sus valores de índice. Escriba los índices en una lista delimitada por comas.

Los índices en una matriz comienzan a partir de 0, donde 0 representa el primer valor y (n-1) representa el último valor.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

ninguno

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-InputObject <psobject>

Especifica los objetos que se van a enviar al cmdlet a través de la canalización. Este parámetro permite canalizar objetos a Select-Object.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

true (ByValue)

¿Aceptar caracteres comodín?

false

-Last <int>

Especifica el número de objetos que se van a seleccionar al final de una matriz de objetos de entrada.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Property <Object[]>

Especifica las propiedades que se van a seleccionar. Se permite el uso de caracteres comodín.

El valor del parámetro Property puede ser una nueva propiedad calculada. Para crear una propiedad calculada, utilice una tabla hash. Las claves válidas son:

-- Name (o Label) <cadena>

-- Expression <cadena> o <bloque de script>

¿Requerido?

false

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

true

-Skip <int>

Omite (no selecciona) el número especificado de elementos. De forma predeterminada, el parámetro Skip cuenta desde el principio de la matriz o lista de objetos, pero si el comando utiliza el parámetro Last, cuenta desde el final de la matriz o lista.

A diferencia del parámetro Index, que empieza a contar desde 0, el parámetro Skip comienza a contar a partir de 1.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Unique

Especifica que si un subconjunto de los objetos de entrada tiene propiedades y valores idénticos, solo se seleccionará un único miembro del subconjunto.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿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

Puede canalizar cualquier objeto a Select-Object.

Salidas

System.Management.Automation.PSObject

Notas

También puede hacer referencia a Select-Object mediante su alias integrado, "select". Para obtener más información, vea about_Aliases.

Ejemplo 1

C:\PS>get-process | select-object ProcessName,Id,WS

Descripción
-----------
Este comando muestra una lista de procesos. Solo se muestran el nombre, el identificador y el espacio de trabajo de los procesos.






Ejemplo 2

C:\PS>get-process | select-object processname -expandproperty modules |
format-list

ProcessName       : 00THotkey
Size              : 256
Company           : TOSHIBA Corporation
FileVersion       : 1, 0, 0, 27
ProductVersion    : 6, 2, 0, 0
Description       : THotkey
Product           : TOSHIBA THotkey
ModuleName        : 00THotkey.exe
FileName          : C:\WINDOWS\system32\00THotkey.exe
BaseAddress       : 4194304

Descripción
-----------
Este comando muestra la información sobre los módulos que se usan en los procesos que se ejecutan en un equipo. Usa el parámetro ExpandProperty para mostrar los detalles que se incluye en la propiedad de los módulos.






Ejemplo 3

C:\PS>get-process | sort-object -property WS | select-object -Last 5

Handles  NPM(K)    PM(K)      WS(K) VS(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
   2866     320    33432      45764   203   222.41   1292 svchost
    577      17    23676      50516   265    50.58   4388 WINWORD
    826      11    75448      76712   188    19.77   3780 Ps
   1367      14    73152      88736   216    61.69    676 Ps
   1612      44    66080      92780   380   900.59   6132 INFOPATH

Descripción
-----------
Este comando muestra los cinco procesos que están usando la mayor parte de la memoria. El cmdlet Sort-Object se usa para ordenar los procesos en función del uso de memoria (espacio de trabajo); el cmdlet Select-Object se usa para seleccionar los últimos cinco miembros de la matriz de objetos resultante.






Ejemplo 4

C:\PS>get-process | select-object -property ProcessName,@{Name="Start Day"; Expression = {$_.StartTime.DayOfWeek}}

ProcessName  StartDay
----         --------
alg          Wednesday
ati2evxx     Wednesday
ati2evxx     Thursday
...

Descripción
-----------
Este comando muestra el nombre y el día de inicio de los procesos que se ejecutan en un equipo. 

Los valores del parámetro Property son ProcessName y la propiedad calculada "Start Day". La propiedad "Start Day" se agrega mediante una tabla hash con las claves Name y Expression.






Ejemplo 5

C:\PS>"a","b","c","a","a","a" | select-object -unique

a
b
c

Descripción
-----------
Este comando muestra caracteres únicos procedentes de una matriz de caracteres.






Ejemplo 6

C:\PS>$a = get-eventlog -log "Windows PowerShell" 

C:\PS> $a | select-object -index 0, ($a.count - 1)

Descripción
-----------
Estos comandos obtienen el primer evento (más reciente) y el último evento (más antiguo) del registro de eventos de Windows PowerShell. 

El primer comando utiliza el cmdlet Get-EventLog para obtener todos los eventos del registro de Windows PowerShell. Guarda los eventos en la variable $a.

El segundo comando usa un operador de canalización (|) para enviar los eventos guardados en $a al cmdlet Select-Object. El comando Select-Object utiliza el parámetro Index para seleccionar los elementos por su número de índice. El índice del primer evento es 0. El índice del último evento es el número de elementos en $a menos 1.






Ejemplo 7

C:\PS>new-pssession -computername (get-content servers.txt | select-object -skip 1)

Descripción
-----------
Este comando crea una nueva PSSession en cada uno de los equipos incluidos en los archivos Servers.txt, salvo en el primero.

Este comando utiliza el cmdlet Select-Object para seleccionar todos los equipos menos el primero en una lista de nombres de equipo. La lista de equipos resultante se establece como valor del parámetro ComputerName del cmdlet New-PSSession.






Vea también




Tabla de contenido