2012-06-29 36 views
21

Tengo este script donde quiero agregar un objeto a una matriz llamada $Target en cada foreach.Agregar objetos a una matriz de objetos en Powershell

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

Sé que no está funcionando porque $Target = $TargetObject hace que sea igual a un mismo objeto.

¿Cómo puedo agregar a la matriz en lugar de reemplazarla?

Respuesta

42

Para agregar a una matriz, simplemente use el operador +=.

$Target += $TargetObject

Además, es necesario declarar $Target = @() antes de su bucle, porque de lo contrario, se vaciará la matriz cada bucle.

Cuestiones relacionadas