我有一个带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)
我在这种情况下的常规方法是将数据扩展为更友好的表格格式,而不是花费大量时间自定义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)
| 归档时间: |
|
| 查看次数: |
12413 次 |
| 最近记录: |