PowerShell Select-Object Property and ExpandProperty

PowerShell Select-Object Property and ExpandProperty

En PowerShell, existen varias formas de manipular objetos y propiedades en una consulta. Una de ellas es a través del cmdlet Select-Object, que permite seleccionar las propiedades específicas de un objeto y mostrarlas en pantalla. Otra forma es utilizando el parámetro ExpandProperty, que permite expandir las propiedades de un objeto anidado.

En este artículo, exploraremos el uso de ambos cmdlets, así como algunos ejemplos para entender mejor su uso y aplicaciones prácticas.

📋 Aquí podrás encontrar✍
  1. Usando Select-Object en PowerShell
  2. Usando ExpandProperty en PowerShell
  3. Ejemplos de codigos o comandos
    1. Ejemplo 1: Mostrar sólo los nombres de los archivos en un directorio
    2. Ejemplo 2: Mostrar el tamaño de los archivos de un directorio en kilobytes
    3. Ejemplo 3: Mostrar los servicios en ejecución y su estado
  4. Conclusión
  5. Preguntas frecuentes
    1. ¿Puedo utilizar Select-Object para filtrar resultados?
    2. ¿Cuál es la diferencia entre Select-Object y Format-Table?
    3. ¿Puedo utilizar ExpandProperty en objetos anidados multiples?
    4. ¿Puedo utilizar Select-Object para cambiar el nombre de las propiedades?

Usando Select-Object en PowerShell

El cmdlet Select-Object se utiliza para seleccionar y mostrar las propiedades específicas de un objeto. Esto es útil cuando queremos enfocarnos en un subconjunto de las propiedades de un objeto más grande. Por ejemplo, si queremos ver sólo el nombre y tamaño de un archivo, podemos utilizar el siguiente comando:

Get-ChildItem archivo.txt | Select-Object Name, Length

Este comando mostrará sólo el nombre y tamaño del archivo 'archivo.txt'.

También es posible utilizar el parámetro -First para mostrar sólo los primeros n objetos, o el parámetro -Last para mostrar sólo los últimos n objetos. Por ejemplo:

Get-ChildItem | Select-Object -First 5

Este comando mostrará los primeros 5 objetos del directorio actual.

Usando ExpandProperty en PowerShell

El parámetro ExpandProperty se utiliza cuando queremos expandir las propiedades de un objeto anidado. Por ejemplo, si queremos mostrar el nombre y tamaño de un archivo de un directorio en específico, podemos utilizar el siguiente comando:

Get-ChildItem -Path C:Archivos_de_programa | Select-Object Name, @{Name="Size"; Expression={$_.Length / 1MB}}

Este comando mostrará el nombre y tamaño de los archivos en el directorio 'C:Archivos_de_programa'. Observe que el parámetro Size se ha creado mediante un cálculo que convierte el tamaño del archivo en megabytes.

También es posible utilizar ExpandProperty en combinación con Select-Object. Por ejemplo:

Get-Process | Select-Object Name, @{Name='Owner'; Expression={$_.GetOwner().User}}, @{Name='CPU Time'; Expression={$_.TotalProcessorTime}} | Sort-Object -Descending 'CPU Time' | Select-Object -First 5

Este comando muestra los cinco procesos con el mayor tiempo de CPU, y sus respectivos nombres y dueños.

Ejemplos de codigos o comandos

A continuación, se presentan algunos ejemplos adicionales de cómo utilizar Select-Object y ExpandProperty en PowerShell:

Ejemplo 1: Mostrar sólo los nombres de los archivos en un directorio

Get-ChildItem C:Windows | Select-Object Name

Este comando muestra sólo el nombre de los archivos en el directorio 'C:Windows'.

Ejemplo 2: Mostrar el tamaño de los archivos de un directorio en kilobytes

Get-ChildItem C:Windows | Select-Object Name, @{Name="Size"; Expression={$_.Length / 1KB}}

Este comando muestra el nombre y tamaño en kilobytes de los archivos en el directorio 'C:Windows'.

Ejemplo 3: Mostrar los servicios en ejecución y su estado

Get-Service | Select-Object DisplayName, Status

Este comando muestra los nombres de los servicios en ejecución y su estado ('Running' o 'Stopped').

Conclusión

Select-Object y ExpandProperty son herramientas útiles en PowerShell para manipular objetos y propiedades en una consulta. Utilizando estos cmdlets, podemos seleccionar y mostrar sólo las propiedades específicas que necesitamos, así como expandir las propiedades de un objeto anidado. Esperamos que estos ejemplos hayan sido útiles y puedan ser aplicados en sus tareas diarias de programación.

Preguntas frecuentes

¿Puedo utilizar Select-Object para filtrar resultados?

Sí, es posible utilizar Select-Object en combinación con otros cmdlets como Where-Object para filtrar resultados basados en ciertos criterios.

¿Cuál es la diferencia entre Select-Object y Format-Table?

Mientras que Select-Object se utiliza para seleccionar y mostrar las propiedades específicas de un objeto, Format-Table se utiliza para formatear la salida de un objeto en una tabla.

¿Puedo utilizar ExpandProperty en objetos anidados multiples?

Sí, es posible utilizar ExpandProperty en objetos anidados múltiples. Sin embargo, es importante tener en cuenta que esto puede generar una salida muy larga y difícil de leer, por lo que se recomienda utilizar con precaución.

¿Puedo utilizar Select-Object para cambiar el nombre de las propiedades?

Sí, es posible utilizar Select-Object en combinación con Expression para cambiar el nombre de las propiedades. Por ejemplo:

Get-ChildItem archivo.txt | Select-Object @{Name='Archivo'; Expression={$_.Name}}

Este comando cambiará el nombre de la propiedad 'Name' a 'Archivo'.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza Cookies propias y de terceros de análisis para recopilar información con la finalidad de mejorar nuestros servicios, así como para el análisis de su navegación. Si continua navegando, se acepta el uso y si no lo desea puede configurar el navegador. CÓMO CONFIGURAR