Powershell:在ConvertTo-HTML中显示数组成员

wul*_*lxz 2 powershell

我有一个带NoteProperties的对象集合.其中一个属性是数组.当我使用ConvertTo-HTML时,我想有一种简单的方法来显示这个noteproperty的成员而不仅仅是'[System.Object]'.

例如,我有一个名为"Computername"的属性和一个名为"Disks"的属性,它实际上是该计算机的所有磁盘的数组.ConvertTo-HTML的输出如下所示:

Computername    Disks
fs              System.Object[]
dc1             System.Object[]
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来显示"磁盘"的成员而无需手动创建html输出?

编辑:
一个磁盘对象实际上有3个值(名称,容量和可用空间)也必须显示.powershell提示符上的$ collection [0] .Disks的输出可能如下所示(取决于磁盘数等):

PS > $collection[0].Disks

Bezeichnung                                                  Kapazität (MB)                                              Freier Speicher (MB)                                       
-----------                                                  --------------                                              --------------------                                       
C:\                                                          40963                                                       23040 (56 %)                                               
D:\                                                          184324                                                      39024 (21 %)                                               
E:\                                                          204805                                                      103373 (50 %)              
Run Code Online (Sandbox Code Playgroud)

我在考虑的事情就像树首先显示计算机名,然后是该计算机所有磁盘的表.喜欢的东西(可能更漂亮;)):

Computername    
fs             
               Bezeichnung                                                  Kapazität (MB)                                              Freier Speicher (MB)                                       
               -----------                                                  --------------                                              --------------------                                       
               C:\                                                          40963                                                       23040 (56 %)                                               
               D:\                                                          184324                                                      39024 (21 %)                                               
               E:\                                                          204805                                                      103373 (50 %)              
dc1 
Run Code Online (Sandbox Code Playgroud)

Emp*_*LII 7

我在这种情况下的常规方法是将数据扩展为更友好的表格格式,而不是花费大量时间自定义HTML.

$collection |
  select ComputerName -ExpandProperty Disks |
  ConvertTo-Html -Fragment -Property ComputerName,Name,Capacity,'Free Space'
Run Code Online (Sandbox Code Playgroud)

这会扩展每台计算机的磁盘列表,以便每个计算机名称旁边都显示在表中的单独行中.

ComputerName Name Capacity Free Space
------------ ---- -------- ----------
fs           C:\    109324      60986
fs           D:\    289313     281692
dc1          C:\    290473      12626
dc1          D:\    283195     125983
dc1          E:\    105652      13898
Run Code Online (Sandbox Code Playgroud)