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

2024-03-15

我有一个带有 NoteProperties 的对象集合。这些属性之一是数组。 当我使用 ConvertTo-HTML 时,我希望有一种简单的方法来显示此 noteproperty 的成员,而不仅仅是“[System.Object]”。

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

Computername    Disks
fs              System.Object[]
dc1             System.Object[]

有没有一种简单的方法可以显示“磁盘”的成员,而无需手动创建 html 输出?

Edit:
一个磁盘对象实际上有 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 %)              

我正在考虑类似树的东西,首先显示计算机名称,然后显示该计算机的所有磁盘的表格。像这样的东西(可能会更漂亮;)):

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

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

$collection |
  select ComputerName -ExpandProperty Disks |
  ConvertTo-Html -Fragment -Property ComputerName,Name,Capacity,'Free Space'

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

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Powershell:在 ConvertTo-HTML 中显示数组成员 的相关文章

随机推荐