2012-06-29 11 views
21

में ऑब्जेक्ट्स की एक सरणी में ऑब्जेक्ट्स जोड़ें मेरे पास यह स्क्रिप्ट है जहां मैं प्रत्येक फोरच में $Target नामक सरणी में ऑब्जेक्ट जोड़ना चाहता हूं।पावरहेल

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

मैं यह काम नहीं कर रहा है, क्योंकि $Target = $TargetObject बनाता है यह एक ही वस्तु के बराबर जानते हैं।

मैं प्रतिस्थापन के बजाय सरणी में कैसे जोड़ सकता हूं?

उत्तर

42

किसी सरणी में जोड़ने के लिए, बस += ऑपरेटर का उपयोग करें।

$Target += $TargetObject

इसके अलावा, आप अपने पाश से पहले $Target = @() घोषित करने के लिए क्योंकि अन्यथा, यह सरणी हर पाश खाली होगा की जरूरत है।