Powershell: не удается добавить элементы в коллекции

#powershell #powercli

#powershell #powercli

Вопрос:

Я столкнулся с проблемой в следующем тестовом сценарии. Я ожидаю следующего результата в качестве его вывода.

 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  
 

Ответ №1:

это? Вам нужно добавить яблоко с яблоком, потому что яблоко с картофелем может привести к странному поведению

 $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