web-dev-qa-db-ja.com

Powershellのオブジェクトの配列にオブジェクトを追加する

すべてのforeachで$Targetという配列にオブジェクトを追加するこのスクリプトがあります。

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

$Target = $TargetObjectが同じオブジェクトと等しくなるため、機能していないことがわかります。

置換の代わりに配列に追加するにはどうすればよいですか?

34
Ricardo Polo

配列に追加するには、単に_+=_演算子を使用します。

_$Target += $TargetObject_

また、ループの前に$Target = @()を宣言する必要があります。そうしないと、ループごとに配列が空になります。

72
SpellingD