2014-06-27 44 views
2

我在以下测试脚本中遇到问题。 我期待以下结果作为它的输出。Powershell:无法将成员添加到集合

VM Name  vCPU    Memory             
-------   ----    ------           
Server1   1                   
Server2        8 

不幸的是,我收到以下输出。有人能帮我理解代码中的错误吗?

enter code here 

VM Name  vCPU             
-------  ----                         
Server1   1                         
Server2 

$obj_collection = @() 
    $report_data = New-Object System.Object 
    $report_data | Add-Member -MemberType NoteProperty -Name "VM Name" -Value "Server1" 
    $report_data | Add-Member -MemberType NoteProperty -Name "vCPU" -Value "1" 

    $obj_collection += $report_data 
    $report_data = New-Object System.Object 
    $report_data | Add-Member -MemberType NoteProperty -Name "VM Name" -Value "Server2" 
    $report_data | Add-Member -MemberType NoteProperty -Name "Memory" -Value "8" 
    $obj_collection += $report_data 
    $obj_collection 

回答

0

呢?你需要添加苹果与苹果,因为苹果与土豆可以给予奇怪的行为

$obj_collection = @() 
    $report_data = New-Object System.Object 
    $report_data | Add-Member -MemberType NoteProperty -Name "VM Name" -Value "Server1" 
    $report_data | Add-Member -MemberType NoteProperty -Name "vCPU" -Value "1" 
    $report_data | Add-Member -MemberType NoteProperty -Name "Memory" -Value $null 

    $obj_collection += $report_data 
    $report_data = New-Object System.Object 
    $report_data | Add-Member -MemberType NoteProperty -Name "VM Name" -Value "Server2" 
    $report_data | Add-Member -MemberType NoteProperty -Name "vCPU" -Value $null 
    $report_data | Add-Member -MemberType NoteProperty -Name "Memory" -Value "8" 
    $obj_collection += $report_data 
    $obj_collection