Seleccione los valores de una propiedad en todos los objetos de una matriz en PowerShell

Seleccione los valores de una propiedad en todos los objetos de una matriz en PowerShell

PowerShell es un lenguaje de secuencias de comandos de tipo datos, lo que significa que admite casi todos los tipos de datos, como enteros, variables, flotadores o matrices. Más específicamente, una matriz es un tipo de datos que almacena múltiples tipos de datos, ya sea una cadena, variable o entero. Los valores almacenados en una matriz se almacenan en un índice específico. El primer valor se almacena en el "0"Índice, el segundo en el"1Índice, etc. Estos valores se pueden seleccionar y llamar con su número de índice específico.

Este artículo cubrirá un procedimiento detallado para resolver la consulta mencionada.

Cómo seleccionar los valores de una propiedad en todos los objetos de una matriz en PowerShell?

Estos enfoques se pueden utilizar para seleccionar los valores de una propiedad en una matriz:

  • Selección-objeto.
  • $ Array.Propiedad.
  • ps.Propiedad.

Método 1: use el método "select-object" para seleccionar todos los objetos de una matriz con los mismos valores de propiedad

El "Selección-objeto"Cmdlet se usa para seleccionar los valores de propiedad en todos los objetos de una matriz definida por un usuario. Está diseñado específicamente para seleccionar los valores específicos definidos por un usuario.

Ejemplo

Por ejemplo, consulte el siguiente código de ejemplo:

$ Empleados = @(
[pScustomObject]@name = 'Johnny'; género = 'masculino'; edad = '27 '
[pScustomObject]@name = 'Alice'; gender = 'femenino'; edad = '23 '
[pScustomObject]@name = 'alex'; género = 'femenino'; edad = '28 '
)

Según el código anterior:

  • En primer lugar, cree una matriz y asigna a un "$ Empleados" variable.
  • Dentro de una matriz, crea tres objetos. Cada objeto contiene tres propiedades que son "Nombre","Género", y "Edad".
  • Asigne los valores requeridos a las propiedades definidas:

Ahora, seleccionemos los valores de una propiedad en todos los objetos de una matriz utilizando el "Selección-objeto"Cmdlet:

> $ Empleados | Select -Object -ExpandProperty Gender

Aquí:

  • Agregue la variable de matriz asignada "$ Empleados"Y luego usa el"Tubería |"Para pasar la salida de la matriz al"Selección-objeto"Cmdlet.
  • Después de eso, especifique el "-Expandir la propiedadParámetro "y asignar el"Género"Propiedad para obtener los valores almacenados en él:

El "Género"Los valores de la propiedad en todos los objetos de una matriz se han mostrado en la salida.

Método 2: use la "matriz $.Método de propiedad ”para seleccionar todos los objetos de una matriz con los mismos valores de propiedad

Utilizando el "$ Array.PropiedadEl método "es el método más fácil y simple para seleccionar los valores de una propiedad. Concatena la propiedad consigo misma al nombre para obtener sus valores.

Ejemplo

En este ejemplo, accederemos al valor del "Nombre"Propiedad del"$ Empleados"Array:

> $ Empleados.Nombre

Método 3: use el "%$ _.Método de propiedad "para seleccionar todos los objetos de una matriz con los mismos valores de propiedad

Otro método para seleccionar y obtener los valores de una propiedad es el "ps.Propiedad"Cmdlet. Este método es también el más fácil y bastante similar al "$ Array.Propiedad"Cmdlet.

Ejemplo

Por ejemplo, describa el ejemplo dado:

> $ Empleados | ps.Edad

Aquí:

  • En primer lugar, especifique la variable y luego use el "tubería |"Para enviar su salida al siguiente comando"ps.Edad"Como entrada.
  • ps.Age "luego seleccionará los valores asignados al"Edad" propiedad:

Los valores de una propiedad en todos los objetos se han seleccionado correctamente.

Conclusión

En PowerShell, los valores de una propiedad de una matriz en el objeto se pueden seleccionar utilizando varios métodos. Estos métodos incluyen "Selección-objeto","$ Array.Propiedad", o "ps.Propiedad". Los tres métodos muestran los valores de la propiedad en todos los objetos de la matriz. Esta publicación ha elaborado un procedimiento detallado para resolver la consulta mencionada.