web-dev-qa-db-fra.com

Ajouter des objets à un tableau d'objets dans Powershell

J'ai ce script où je veux ajouter un objet à un tableau appelé $Target dans chaque foreach.

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

Je sais que ça ne marche pas parce que $Target = $TargetObject le rend égal au même objet.

Comment puis-je ajouter au tableau au lieu de remplacer?

34
Ricardo Polo

Pour ajouter un tableau, utilisez simplement l'opérateur +=.

$Target += $TargetObject

En outre, vous devez déclarer $Target = @() avant votre boucle, sinon le tableau sera vidé toutes les boucles.

72
SpellingD