Como Inicializar um Array de Objetos Personalizados no PowerShell

  1. Usando Arrays no Windows PowerShell
  2. Acessando um Array no Windows PowerShell
  3. Mudando Itens em um Array Usando Windows PowerShell
  4. Iterando um Array no Windows PowerShell
  5. Criando Objetos em um Array Usando Windows PowerShell
  6. Acessando Objetos em um Array Usando Windows PowerShell
  7. Atualizando Objetos em um Array Usando Windows PowerShell
  8. Acessando Propriedades em um Array Usando Windows PowerShell
  9. Criando um ArrayList no Windows PowerShell
Como Inicializar um Array de Objetos Personalizados no PowerShell

Arrays são um recurso fundamental do Windows PowerShell. Eles possibilitam a ingestão, manipulação e saída de estruturas de dados precisas (e não apenas strings brutas).

Essa capacidade torna o PowerShell diferente e mais prático do que outras linguagens de script.

Este artigo explicará o que são arrays, como criar arrays no Windows PowerShell e, em seguida, usar funções essenciais para manipulá-los.

Usando Arrays no Windows PowerShell

Arrays no Windows PowerShell podem conter um ou mais itens. Um array pode ser uma string, um inteiro, um objeto ou outro array.

Cada item tem um índice que começa em 0 e itera por item.

A sintaxe básica para criar um array é @().

$data = @()

Podemos colocar valores dentro dos parênteses após o @:

$data = @('Zero', 'One', 'Two', 'Three')

Para exibir itens no array, podemos chamar a variável nomeada:

$data

Saída:

Zero
One
Two
Three

Acessando um Array no Windows PowerShell

Agora que temos um array, queremos acessar os itens. Existem várias maneiras de fazer isso.

O primeiro método é usar o índice dos itens no array. Como mencionamos, os índices começam em 0.

Portanto, precisaremos dizer ao Windows PowerShell para olhar para o item cujo índice atribuído é zero para recuperar o primeiro item do nosso array.

$data[0]

Essa sintaxe retornará a string zero, porque essa foi a primeira string que colocamos no nosso array. Também podemos estender esse trecho para retornar vários itens do mesmo array, colocando mais índices no mesmo comando.

$data[0, 2, 3]

Saída:

Zero
Two
Three

Mudando Itens em um Array Usando Windows PowerShell

Podemos usar o mesmo método para atualizar os itens em um array. Por exemplo, para atualizar o item cujo índice atribuído é 2, podemos executar:

$data[2] = 'second'

Esse método nos dá acesso direto aos itens dentro de um array.

Iterando um Array no Windows PowerShell

Uma das funcionalidades mais poderosas do Windows PowerShell é realizar a mesma ação em todos os itens de um array. O método mais básico é usar um caractere Pipeline (|).

Por exemplo, para adicionar uma descrição a cada item em nosso array, podemos usar este comando:

$data | ForEach-Object { "Item: [$PSItem]" }

Este comando informa ao ambiente de script do PowerShell para pegar os itens no array $data um de cada vez.

Criando Objetos em um Array Usando Windows PowerShell

Podemos criar um array cheio de objetos personalizados usando o mesmo método com strings, utilizando a função do array (@()). Por exemplo, para criar uma lista de teste de funcionários, podemos usar:

$data = @(
    [pscustomobject]@{FirstName = 'Kevin'; LastName = 'Marquette' }
    [pscustomobject]@{FirstName = 'John'; LastName = 'Doe' }
)

A maioria dos comandos nativos do PowerShell retornará um array cheio de objetos desse tipo quando você atribuir a eles uma variável para trabalhar.

Acessando Objetos em um Array Usando Windows PowerShell

O processo que realizamos antes para acessar peças individuais de dados também pode ser usado com arrays que contêm objetos.

$data[0]

Saída:

FirstName LastName
-----     ----
John     Hampton

Alternativamente, podemos obter as propriedades de objetos individuais especificando qual propriedade gostaríamos de chamar dentro do mesmo comando.

$data[0].FirstName

Saída:

John

Atualizando Objetos em um Array Usando Windows PowerShell

A sintaxe exata nos permite atualizar propriedades individuais dentro de objetos contidos em arrays.

$data[0].FirstName = 'Jay'

Acessando Propriedades em um Array Usando Windows PowerShell

Na maioria das linguagens de programação e script, teríamos que usar um método iterativo para acessar todas as propriedades em vários objetos. Podemos fazer isso no Windows PowerShell também.

$data | ForEach-Object { $_.LastName }

Esse método retornará uma lista de todas as propriedades LastName em nosso array, mas é computacionalmente caro e desafiador escrever toda vez que você quiser ver esses dados. Portanto, em vez disso, o PowerShell tem um atalho.

$data.LastName

E você verá a mesma lista. O PowerShell está pegando cada objeto por sua vez, como antes, mas esconde essa complexidade de nós.

Criando um ArrayList no Windows PowerShell

Adicionar itens a arrays pode ser desafiador. No entanto, ArrayList lida com isso de maneira mais elegante, um tipo diferente de coleção.

No entanto, teremos que usar o framework .NET para usar esse tipo de coleção. Para criar um ArrayList e adicionar itens a ele, execute o seguinte:

$myarray = [System.Collections.ArrayList]::new()

[void]$myArray.Add('Value')