2012-06-29 17 views
21

Ho questo script in cui voglio aggiungere un oggetto a un array chiamato $Target in ogni foreach.Aggiungere oggetti a una matrice di oggetti in PowerShell

foreach ($Machine in $Machines) 
{ 
    $TargetProperties = @{Name=$Machine} 
    $TargetObject = New-Object PSObject –Property $TargetProperties 
    $Target= @() 
    $Target = $TargetObject 
} 

So che non funziona perché $Target = $TargetObject rende uguale allo stesso oggetto.

Come posso aggiungere alla matrice invece di sostituire?

risposta

42

Per aggiungere un array, utilizzare l'operatore +=.

$Target += $TargetObject

Inoltre, è necessario dichiarare $Target = @() prima del tuo ciclo perché in caso contrario, si svuoterà la matrice di ogni ciclo.

Problemi correlati