Come inizializzare un array di oggetti personalizzati in PowerShell
- Utilizzo degli Array in Windows PowerShell
- Accesso a un Array in Windows PowerShell
- Modifica degli Elementi in un Array Utilizzando Windows PowerShell
- Iterare un Array in Windows PowerShell
- Creare Oggetti in un Array Utilizzando Windows PowerShell
- Accesso agli Oggetti in un Array Utilizzando Windows PowerShell
- Aggiornamento degli Oggetti in un Array Utilizzando Windows PowerShell
- Accesso alle Proprietà in un Array Utilizzando Windows PowerShell
- Creare un ArrayList in Windows PowerShell

Gli array sono una caratteristica fondamentale di Windows PowerShell. Questi rendono possibile l’ingestione, la manipolazione e l’output di strutture dati accurate (e non solo di stringhe grezze).
Questa capacità rende PowerShell diverso e più pratico rispetto ad altri linguaggi di scripting.
Questo articolo spiegherà cosa sono gli array, come creare array in Windows PowerShell e poi utilizzare funzioni essenziali per manipolarli.
Utilizzo degli Array in Windows PowerShell
Gli array in Windows PowerShell possono contenere uno o più elementi. Un array può essere una stringa, un intero, un oggetto o un altro array.
Ogni elemento ha un indice che parte da 0 e itera per ogni elemento.
La sintassi di base per creare un array è @()
.
$data = @()
Possiamo mettere valori all’interno delle parentesi dopo il @
:
$data = @('Zero', 'One', 'Two', 'Three')
Per visualizzare gli elementi nell’array, possiamo chiamare la variabile denominata:
$data
Output:
Zero
One
Two
Three
Accesso a un Array in Windows PowerShell
Ora che abbiamo un array, desideriamo accedere agli elementi. Ci sono diversi modi per farlo.
Il primo metodo è utilizzare l’indice degli elementi nell’array. Come abbiamo già menzionato, gli indici partono da 0
.
Quindi, dovremo dire a Windows PowerShell di guardare all’elemento il cui indice assegnato è zero per recuperare il primo elemento del nostro array.
$data[0]
Questa sintassi restituirà la stringa zero
poiché era la prima stringa che abbiamo inserito nel nostro array. Possiamo anche estendere questo frammento per restituire più elementi dallo stesso array mettendo più indici nello stesso comando.
$data[0, 2, 3]
Output:
Zero
Two
Three
Modifica degli Elementi in un Array Utilizzando Windows PowerShell
Possiamo utilizzare lo stesso metodo per aggiornare gli elementi in un array. Ad esempio, per aggiornare l’elemento il cui indice assegnato è 2, possiamo eseguire:
$data[2] = 'second'
Questo metodo ci dà accesso diretto agli elementi all’interno di un array.
Iterare un Array in Windows PowerShell
Una delle funzionalità più potenti di Windows PowerShell è eseguire la stessa azione su tutti gli elementi in un array. Il metodo più basilare è utilizzare un carattere Pipeline (|
).
Ad esempio, per aggiungere una descrizione a ciascun elemento nel nostro array, possiamo utilizzare questo comando:
$data | ForEach-Object { "Item: [$PSItem]" }
Questo comando dice all’ambiente di scripting di PowerShell di prendere gli elementi nell’array $data
uno alla volta.
Creare Oggetti in un Array Utilizzando Windows PowerShell
Possiamo creare un array pieno di oggetti personalizzati utilizzando lo stesso metodo con le stringhe, usando la funzione array (@()
). Ad esempio, per fare una lista di test di dipendenti, possiamo utilizzare:
$data = @(
[pscustomobject]@{FirstName = 'Kevin'; LastName = 'Marquette' }
[pscustomobject]@{FirstName = 'John'; LastName = 'Doe' }
)
La maggior parte dei comandi nativi di PowerShell restituirà un array pieno di oggetti di questo tipo quando assegnati a una variabile con cui lavorare.
Accesso agli Oggetti in un Array Utilizzando Windows PowerShell
Il processo che abbiamo seguito prima per accedere a pezzi individuali di dati può essere utilizzato ugualmente con array che contengono oggetti.
$data[0]
Output:
FirstName LastName
----- ----
John Hampton
In alternativa, possiamo ottenere le proprietà di oggetti individuali specificando quale proprietà vorremmo chiamare all’interno dello stesso comando.
$data[0].FirstName
Output:
John
Aggiornamento degli Oggetti in un Array Utilizzando Windows PowerShell
La sintassi esatta ci consente di aggiornare proprietà individuali all’interno degli oggetti contenuti negli array.
$data[0].FirstName = 'Jay'
Accesso alle Proprietà in un Array Utilizzando Windows PowerShell
Nella maggior parte dei linguaggi di programmazione e scripting, dovremmo utilizzare un metodo iterativo per accedere a tutte le proprietà in vari oggetti. Possiamo fare ciò anche in Windows PowerShell.
$data | ForEach-Object { $_.LastName }
Questo metodo restituirà un elenco di tutte le proprietà LastName
nel nostro array, ma è computazionalmente costoso e difficile da scrivere ogni volta che vogliamo vedere questi dati. Quindi, invece, PowerShell ha un collegamento.
$data.LastName
E vedrai lo stesso elenco. PowerShell sta prendendo ciascun oggetto a turno, proprio come prima, ma nasconde questa complessità da noi.
Creare un ArrayList in Windows PowerShell
Aggiungere elementi agli array può essere complicato. Tuttavia, ArrayList gestisce ciò in modo più elegante, un tipo diverso di collezione.
Tuttavia, dovremo utilizzare il framework .NET per utilizzare questo tipo di collezione. Per creare un ArrayList e aggiungere elementi, esegui il seguente comando:
$myarray = [System.Collections.ArrayList]::new()
[void]$myArray.Add('Value')