2012-06-29 4 views
21

У меня есть этот скрипт, где я хочу добавить объект в массив с именем $Target в каждом foreach.Добавить объекты в массив объектов в Powershell

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

Я знаю, что это не работает, потому что $Target = $TargetObject делает его равным одному и тому же объекту.

Как добавить к массиву вместо замены?

ответ

42

Чтобы добавить к массиву, просто используйте оператор +=.

$Target += $TargetObject

Кроме того, вы должны объявить $Target = @() до вашего цикла, так как в противном случае, это будет пустой массив со каждую петлю.

Смежные вопросы