table 样式的 Powershell 格式输出

Powershell format output in table style

我需要增加我所有 DC 的 RAM 大小。 工作完成后,我想获得一份包含所有 DC 的 table 格式的报告,但我做不到。我的输出如下。

PS C:\Windows\system32> foreach ($DC in $DCs_ALL){
$DC
(Get-ADDomain -Server $DC).NetBIOSName
(Get-CimInstance -ClassName 'Cim_PhysicalMemory' -ComputerName $DC| Measure-Object -Property Capacity -Sum).Sum /1gb
}
DC1
MyDomain
32
DC2
MyDomain
32
DC3
MyDomain
32
DC4
MyDomain
32
DC5
MyDomain
32
DC6
MyDomain
32

我想得到的是这样的:

DCname   NetBIOSName    RAM [GB]
------   -----------    --------
DC1      MyDomain       32
DC2      MyDomain       32
DC3      MyDomain       32
DC4      MyDomain       32
DC5      MyDomain       32
DC6      MyDomain       32

我的变量如下所示:

$DCs_ALL = ('DC1',
'DC2',
'DC3',
'DC4',
'DC5',
'DC6')

使用 PSCustomObject:

foreach ($DC in $DCs_ALL){
  [PSCustomObject]@{
    'DCName' = $DC
    'NetBIOSName'=(Get-ADDomain -Server $DC).NetBIOSName
    'RAM [GB]' = ((Get-CimInstance -ClassName 'Cim_PhysicalMemory' -ComputerName $DC| Measure-Object -Property Capacity -Sum).Sum / 1gb)
  }
}