Compartir a través de


Select-Object

Selecciona objetos o propiedades de objeto.

Sintaxis

DefaultParameter (Es el valor predeterminado).

Select-Object
    [[-Property] <Object[]>]
    [-InputObject <PSObject>]
    [-ExcludeProperty <String[]>]
    [-ExpandProperty <String>]
    [-Unique]
    [-CaseInsensitive]
    [-Last <Int32>]
    [-First <Int32>]
    [-Skip <Int32>]
    [-Wait]
    [<CommonParameters>]

SkipLastParameter

Select-Object
    [[-Property] <Object[]>]
    [-InputObject <PSObject>]
    [-ExcludeProperty <String[]>]
    [-ExpandProperty <String>]
    [-Unique]
    [-CaseInsensitive]
    [-Skip <Int32>]
    [-SkipLast <Int32>]
    [<CommonParameters>]

IndexParameter

Select-Object
    [-InputObject <PSObject>]
    [-Unique]
    [-CaseInsensitive]
    [-Wait]
    [-Index <Int32[]>]
    [<CommonParameters>]

SkipIndexParameter

Select-Object
    [-InputObject <PSObject>]
    [-Unique]
    [-CaseInsensitive]
    [-SkipIndex <Int32[]>]
    [<CommonParameters>]

Description

El cmdlet Select-Object selecciona las propiedades especificadas de un objeto o conjunto de objetos. También puede seleccionar objetos únicos, un número especificado de objetos o objetos en una posición especificada en una matriz.

Para seleccionar objetos de una colección, use los parámetros First, Last, Unique, Skipy Index. Para seleccionar las propiedades del objeto, use el parámetro Property. Al seleccionar propiedades, Select-Object devuelve nuevos objetos que solo tienen las propiedades especificadas.

A partir de Windows PowerShell 3.0, Select-Object incluye una característica de optimización que impide que los comandos creen y procesen objetos que no se usan.

Cuando se usa Select-Object con el First o parámetros index en una canalización de comandos, PowerShell detiene el comando que genera los objetos en cuanto se alcanza el número seleccionado de objetos. Para desactivar este comportamiento de optimización, use el parámetro wait .

Ejemplos

Ejemplo 1: Selección de objetos por propiedad

En este ejemplo se crean objetos que tienen las propiedades Name, Idy working set (WS) de los objetos de proceso.

Get-Process | Select-Object -Property ProcessName, Id, WS

Ejemplo 2: Seleccionar objetos por propiedad y dar formato a los resultados

En este ejemplo se obtiene información sobre los módulos utilizados por los procesos del equipo. Usa Get-Process cmdlet para obtener el proceso en el equipo.

Usa el cmdlet para generar una matriz de instancias de tal y como se encuentra en la propiedad Modules de de cada salida de instancia de mediante .

El parámetro Property del cmdlet Select-Object selecciona los nombres de proceso. Esto agrega unNoteProperty ProcessName a cada instancia de [System.Diagnostics.ProcessModule] y lo rellena con el valor de la propiedad ProcessName del proceso actual.

Por último, se usa Format-List cmdlet para mostrar el nombre y los módulos de cada proceso de una lista.

Get-Process Explorer |
    Select-Object -Property ProcessName -ExpandProperty Modules |
    Format-List
ProcessName       : explorer
ModuleName        : explorer.exe
FileName          : C:\WINDOWS\explorer.exe
BaseAddress       : 140697278152704
ModuleMemorySize  : 3919872
EntryPointAddress : 140697278841168
FileVersionInfo   : File:             C:\WINDOWS\explorer.exe
                    InternalName:     explorer
                    OriginalFilename: EXPLORER.EXE.MUI
                    FileVersion:      10.0.17134.1 (WinBuild.160101.0800)
                    FileDescription:  Windows Explorer
                    Product:          Microsoft Windows Operating System
                    ProductVersion:   10.0.17134.1
...

Ejemplo 3: Selección de procesos con la mayor cantidad de memoria

En este ejemplo se obtienen los cinco procesos que usan la mayor parte de la memoria. El cmdlet Get-Process obtiene los procesos del equipo. El cmdlet Sort-Object ordena los procesos según el uso de memoria (conjunto de trabajo) y el cmdlet Select-Object selecciona solo los cinco últimos miembros de la matriz resultante de objetos.

El parámetro wait no es necesario en los comandos que incluyen el cmdlet Sort-Object porque Sort-Object procesa todos los objetos y, a continuación, devuelve una colección. La optimización Select-Object solo está disponible para los comandos que devuelven objetos individualmente a medida que se procesan.

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

Ejemplo 4: Selección de caracteres únicos de una matriz

En este ejemplo se usa el parámetro Unique de Select-Object para obtener caracteres únicos de una matriz de caracteres.

"a","b","c","a","A","a" | Select-Object -Unique
a
b
c
A

Ejemplo 5: Uso de "-Unique" con otros parámetros

El parámetro unique filtra los valores después de aplicar otros parámetros de Select-Object. Por ejemplo, si usa el parámetro First para seleccionar el primer número de elementos de una matriz, unique solo se aplica a los valores seleccionados y no a toda la matriz.

"a","a","b","c" | Select-Object -First 2 -Unique
a

En este ejemplo, First selecciona "a","a" como los primeros 2 elementos de la matriz. unique se aplica a "a","a" y devuelve a como valor único.

Ejemplo 6: Selección de cadenas únicas mediante el parámetro "-CaseInsensitive"

En este ejemplo se usan comparaciones que no distinguen mayúsculas de minúsculas para obtener cadenas únicas de una matriz de cadenas.

"aa", "Aa", "Bb", "bb" | Select-Object -Unique -CaseInsensitive
aa
Bb

Ejemplo 7: Selección de eventos más recientes y más antiguos en el registro de eventos

En este ejemplo se obtienen los primeros eventos (más recientes) y los últimos (más antiguos) del registro de eventos de Windows PowerShell.

Get-WinEvent obtiene todos los eventos del registro de Windows PowerShell y los guarda en la variable $a. A continuación, $a se canaliza al cmdlet Select-Object. El comando usa el parámetro index de para seleccionar eventos de la matriz de eventos de la variable . El índice del primer evento es 0. El índice del último evento es el número de elementos de $a menos 1.

$a = Get-WinEvent -LogName "Windows PowerShell"
$a | Select-Object -Index 0, ($a.Count - 1)

Ejemplo 8: Seleccionar todo, pero el primer objeto

En este ejemplo se crea una nueva PSSession en cada uno de los equipos enumerados en los archivos Servers.txt, excepto en el primero.

Select-Object selecciona todo menos el primer equipo de una lista de nombres de equipo. La lista resultante de equipos se establece como el valor del parámetro ComputerName de del cmdlet New-PSSession.

New-PSSession -ComputerName (Get-Content Servers.txt | Select-Object -Skip 1)

Ejemplo 9: Cambiar el nombre de los archivos y seleccionar varios para revisar

En este ejemplo se agrega un sufijo "-ro" a los nombres base de archivos de texto que tienen el atributo de solo lectura y, a continuación, se muestran los cinco primeros archivos para que el usuario pueda ver un ejemplo del efecto.

Get-ChildItem usa el parámetro dinámico ReadOnly para obtener archivos de solo lectura. Los archivos resultantes se canalizan al cmdlet Rename-Item, que cambia el nombre del archivo. Usa el parámetro PassThru de Rename-Item para enviar los archivos cambiados al cmdlet Select-Object, que selecciona los primeros 5 para mostrar.

El parámetro wait de de impide que PowerShell detenga el cmdlet después de obtener los cinco primeros archivos de texto de solo lectura. Sin este parámetro, solo se cambiaría el nombre de los cinco primeros archivos de solo lectura.

Get-ChildItem *.txt -ReadOnly |
    Rename-Item -NewName {$_.BaseName + "-ro.txt"} -PassThru |
    Select-Object -First 5 -Wait

Ejemplo 10: Mostrar las complejidades del parámetro -ExpandProperty

En este ejemplo se muestran las complejidades del parámetro ExpandProperty.

Tenga en cuenta que la salida generada era una matriz de instancias de [System.Int32]. Las instancias se ajustan a las reglas de formato estándar de la vista de salida de . Esto es cierto para las propiedades de expandidas de . Si los objetos de salida tienen un formato estándar específico, es posible que la propiedad expandida no esté visible.

# Create a custom object to use for the Select-Object example.
$object = [pscustomobject]@{Name="CustomObject";List=@(1,2,3,4,5)}
# Use the ExpandProperty parameter to Expand the property.
$object | Select-Object -ExpandProperty List -Property Name
1
2
3
4
5
# The output did not contain the Name property, but it was added successfully.
# Use Get-Member to confirm the Name property was added and populated.
$object | Select-Object -ExpandProperty List -Property Name | Get-Member -MemberType Properties
   TypeName: System.Int32

Name        MemberType   Definition
----        ----------   ----------
Name        NoteProperty string Name=CustomObject

Ejemplo 11: Crear propiedades personalizadas en objetos

En el ejemplo siguiente se muestra el uso de Select-Object para agregar una propiedad personalizada a cualquier objeto. Cuando se especifica un nombre de propiedad que no existe, Select-Object crea esa propiedad como NoteProperty en cada objeto pasado.

$customObject = 1 | Select-Object -Property MyCustomProperty
$customObject.MyCustomProperty = "New Custom Property"
$customObject
MyCustomProperty
----------------
New Custom Property

Ejemplo 12: Crear propiedades calculadas para cada InputObject

En este ejemplo se muestra el uso de Select-Object para agregar propiedades calculadas a la entrada. Pasar un scriptBlock de al parámetro Property hace que evalúen la expresión en cada objeto pasado y agreguen los resultados a la salida. En elscriptBlock de , puede usar la variable para hacer referencia al objeto actual de la canalización.

De forma predeterminada, Select-Object usa la cadena scriptBlock de como nombre de la propiedad. Con unhashtable de , puede etiquetar la salida de la ScriptBlock como una propiedad personalizada agregada a cada objeto. Puede agregar varias propiedades calculadas a cada objeto pasado a Select-Object.

# Create a calculated property called $_.StartTime.DayOfWeek
Get-Process | Select-Object -Property ProcessName,{$_.StartTime.DayOfWeek}
ProcessName  $_.StartTime.DayOfWeek
----         ----------------------
alg                       Wednesday
ati2evxx                  Wednesday
ati2evxx                   Thursday
...
# Add a custom property to calculate the size in KiloBytes of each FileInfo
# object you pass in. Use the pipeline variable to divide each file's length by
# 1 KiloBytes
$size = @{Label="Size(KB)";Expression={$_.Length/1KB}}
# Create an additional calculated property with the number of Days since the
# file was last accessed. You can also shorten the key names to be 'l', and 'e',
# or use Name instead of Label.
$days = @{l="Days";e={((Get-Date) - $_.LastAccessTime).Days}}
# You can also shorten the name of your label key to 'l' and your expression key
# to 'e'.
Get-ChildItem $PSHOME -File | Select-Object Name, $size, $days
Name                        Size(KB)        Days
----                        --------        ----
Certificate.format.ps1xml   12.5244140625   223
Diagnostics.Format.ps1xml   4.955078125     223
DotNetTypes.format.ps1xml   134.9833984375  223

Ejemplo 13: Selección de claves hashtable sin usar propiedades calculadas

A partir de PowerShell 6, Select-Object admite la selección de las claves de tabla hash entrada como propiedades. En el ejemplo siguiente se seleccionan las claves weight y name en una tabla hash de entrada y se muestra la salida.

@{ name = 'a' ; weight = 7 } | Select-Object -Property name, weight
name weight
---- ------
a         7

Ejemplo 14: ExpandProperty modifica el objeto original

En este ejemplo se muestra el efecto secundario del uso del parámetro ExpandProperty. Cuando se usa ExpandProperty, Select-Object agrega las propiedades seleccionadas al objeto original como miembros NoteProperty.

PS> $object = [pscustomobject]@{
        name = 'USA'
        children = [pscustomobject]@{
            name = 'Southwest'
        }
    }
PS> $object

name children
---- --------
USA  @{name=Southwest}

# Use the ExpandProperty parameter to expand the children property
PS> $object | Select-Object @{n="country"; e={$_.name}} -ExpandProperty children

name      country
----      -------
Southwest USA

# The original object has been altered
PS> $object

name children
---- --------
USA  @{name=Southwest; country=USA}

Como puede ver, la propiedad país de se agregó al objeto secundarios después de usar el parámetro ExpandProperty.

Ejemplo 15: Crear un nuevo objeto con propiedades expandidas sin modificar el objeto de entrada

Puede evitar el efecto secundario del uso del parámetro ExpandProperty creando un nuevo objeto y copiando las propiedades del objeto de entrada.

PS> $object = [pscustomobject]@{
    name = 'USA'
    children = [pscustomobject]@{
        name = 'Southwest'
    }
}
PS> $object

name children
---- --------
USA  @{name=Southwest}

# Create a new object with selected properties
PS> $newObject = [pscustomobject]@{
    country = $object.name
    children = $object.children
}

PS> $newObject

country children
------- --------
USA     @{name=Southwest}

# $object remains unchanged
PS> $object

name children
---- --------
USA  @{name=Southwest}

Ejemplo 16: Uso de caracteres comodín con el parámetro -ExpandProperty

En este ejemplo se muestra el uso de caracteres comodín con el parámetro ExpandProperty . El carácter comodín debe resolverse en un solo nombre de propiedad. Si el carácter comodín se resuelve en más de un nombre de propiedad, Select-Object devuelve un error.

# Create a custom object.
$object = [pscustomobject]@{
    Label   = "MyObject"
    Names   = @("John","Jane","Joe")
    Numbers = @(1,2,3,4,5)
}
# Try to expand multiple properties using a wildcard.
$object | Select-Object -ExpandProperty N*
Select-Object: Multiple properties cannot be expanded.

# Use a wildcard that resolves to a single property.
$object | Select-Object -ExpandProperty Na*
John
Jane
Joe

Parámetros

-CaseInsensitive

De forma predeterminada, cuando se usa el parámetro Unique, el cmdlet usa comparaciones que distinguen mayúsculas de minúsculas. Cuando se usa este parámetro, el cmdlet usa comparaciones que no distinguen mayúsculas de minúsculas.

Este parámetro se agregó en PowerShell 7.4.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-ExcludeProperty

Especifica las propiedades que este cmdlet excluye de la operación. Se permiten los caracteres comodín.

A partir de PowerShell 6, ya no es necesario incluir el parámetro property para que excludeProperty funcione.

Propiedades del parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

DefaultParameter
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
SkipLastParameter
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-ExpandProperty

Especifica una propiedad que se va a seleccionar e indica que se debe intentar expandir esa propiedad. Si la canalización de objetos de entrada no tiene la propiedad denominada, Select-Object devuelve un error. Este parámetro admite caracteres comodín. Sin embargo, el carácter comodín debe resolverse en un solo nombre de propiedad. Si el carácter comodín se resuelve en más de un nombre de propiedad, Select-Object devuelve un error.

Al usar ExpandProperty, Select-Object intenta expandir la propiedad especificada para cada

  • Si la propiedad especificada es una matriz, cada valor de la matriz se incluye en la salida.
  • Si la propiedad especificada es un objeto, las propiedades de los objetos se expanden para cada InputObject

En cualquier caso, el Type de los objetos de salida coincide con el Type de la propiedad expandida. Hay un efecto secundario al usar ExpandProperty. El Select-Object agrega las propiedades seleccionadas al objeto original como miembros NoteProperty.

Si se especifica el parámetro property , Select-Object intenta agregar cada propiedad seleccionada como NoteProperty a cada objeto generado.

Advertencia

Si recibe un error que indica que una propiedad no se puede procesar porque ya existe una propiedad con ese nombre, tenga en cuenta lo siguiente. Tenga en cuenta que al usar ExpandProperty, Select-Object no puede reemplazar una propiedad existente. Esto significa lo siguiente:

  • Si el objeto expandido tiene una propiedad del mismo nombre, el comando devuelve un error.
  • Si el objeto Selected tiene una propiedad con el mismo nombre que una propiedad de Expandida objeto, el comando devuelve un error.

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

DefaultParameter
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
SkipLastParameter
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-First

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

Propiedades del parámetro

Tipo:Int32
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

DefaultParameter
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Index

Selecciona objetos de una matriz en función de sus valores de índice. Escriba los índices en una lista separada por comas. Los índices de una matriz comienzan por 0, donde 0 representa el primer valor y (n-1) representa el último valor.

Propiedades del parámetro

Tipo:

Int32[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

IndexParameter
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-InputObject

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.

Al pasar objetos al parámetro InputObject, en lugar de usar la canalización, Select-Object trata el InputObject como un solo objeto, incluso si el valor es una colección. Se recomienda usar la canalización al pasar colecciones a Select-Object.

Propiedades del parámetro

Tipo:PSObject
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Last

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

Propiedades del parámetro

Tipo:Int32
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

DefaultParameter
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Property

Especifica las propiedades que se van a seleccionar. Estas propiedades se agregan como NoteProperty miembros a los objetos de salida. Se permiten los caracteres comodín. Si el objeto de entrada no tiene la propiedad denominada, el valor del nuevo NoteProperty se establece en $null.

El valor del parámetro Property puede ser una nueva propiedad calculada. Para crear una propiedad calculada, use una tabla hash.

Las claves válidas son:

  • Nombre (o etiqueta): <string>
  • Expresión: <string> o <script block>

Para obtener más información, consulte about_Calculated_Properties.

Propiedades del parámetro

Tipo:

Object[]

Valor predeterminado:None
Admite caracteres comodín:True
DontShow:False

Conjuntos de parámetros

DefaultParameter
Posición:0
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
SkipLastParameter
Posición:0
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Skip

Omite (no selecciona) el número especificado de elementos. De forma predeterminada, el parámetro Skip Skip cuenta desde el principio de la colección de objetos. Si el comando usa el parámetro Last, cuenta desde el final de la colección.

A diferencia del parámetro Index , que comienza a contar en 0, el parámetro Skip comienza en 1.

A partir de PowerShell 7.4, puede usar el parámetro Skip con el parámetro SkipLast para omitir elementos del principio y el final de la colección.

Propiedades del parámetro

Tipo:Int32
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

DefaultParameter
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-SkipIndex

Omite (no selecciona) los objetos de una matriz en función de sus valores de índice. Escriba los índices en una lista separada por comas. Los índices de una matriz comienzan por 0, donde 0 representa el primer valor y (n-1) representa el último valor.

Este parámetro se introdujo en Windows PowerShell 6.0.

Propiedades del parámetro

Tipo:

Int32[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

SkipIndexParameter
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-SkipLast

Omite (no selecciona) el número especificado de elementos desde el final de la lista o matriz. Funciona de la misma manera que el uso de Skip junto con parámetro Last.

A diferencia del parámetro Index , que comienza a contar en 0, el parámetro SkipLast comienza en 1.

A partir de PowerShell 7.4, puede usar el parámetro Skip con el parámetro SkipLast para omitir elementos del principio y el final de la colección.

Propiedades del parámetro

Tipo:Int32
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

SkipLastParameter
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Unique

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

Unique selecciona los valores después de aplicar se aplican otros parámetros de filtrado.

Este parámetro distingue mayúsculas de minúsculas. Como resultado, las cadenas que solo difieren en mayúsculas y minúsculas de caracteres se consideran únicas. Agregue el parámetro CaseInsensitive para realizar comparaciones que no distinguen mayúsculas de minúsculas.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Wait

Indica que el cmdlet desactiva la optimización. PowerShell ejecuta comandos en el orden en que aparecen en la canalización de comandos y les permite generar todos los objetos. De forma predeterminada, si incluye un comando de Select-Object con el First o Index parámetros en una canalización de comandos, PowerShell detiene el comando que genera los objetos en cuanto se genera el número seleccionado de objetos.

Este parámetro se introdujo en Windows PowerShell 3.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

DefaultParameter
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
IndexParameter
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

PSObject

Puede canalizar objetos a este cmdlet.

Salidas

PSObject

Este cmdlet devuelve los objetos de entrada con solo las propiedades seleccionadas.

Notas

PowerShell incluye los siguientes alias para Select-Object:

  • Todas las plataformas:
    • select

La característica de optimización de Select-Object solo está disponible para los comandos que escriben objetos en la canalización a medida que se procesan. No tiene ningún efecto en los comandos que almacena en búfer los objetos procesados y los escribe como una colección. Escribir objetos inmediatamente es un procedimiento recomendado de diseño de cmdlets. Para obtener más información, vea escribir registros únicos en el de canalización en Instrucciones de desarrollo fuertemente fomentadas.