Write-Host 将给它的任何输入转换为字符串的形式。字符串必须采用格式良好的 PowerShell 对象并将其转换为字符串。
您应该改用Write-Output,这将呈现您拥有的对象。
PS>Write-output $diskpartitions
PartitionNumber DriveLetter Size DiskId
--------------- ----------- ---- ------
1 16777216 \?scsi#disk&ven_nvme&prod_samsung_ssd_960#5&17cb1da0&0&000000#{53f56307-b6…
2 C 499537713664 \?scsi#disk&ven_nvme&prod_samsung_ssd_960#5&17cb1da0&0&000000#{53f56307-b6…
3 550502400 \?scsi#disk&ven_nvme&prod_samsung_ssd_960#5&17cb1da0&0&000000#{53f56307-b6…
1 134217728 \?scsi#disk&ven_nvme&prod_samsung_ssd_960#7&1a97d747&0&000000#{53f56307-b6…
2 V 499971522560 \?scsi#disk&ven_nvme&prod_samsung_ssd_960#7&1a97d747&0&000000#{53f56307-b6…
1 W 1000202043392 \?scsi#disk&ven_samsung&prod_hd103sj#5&1bc941f&0&070000#{53f56307-b6bf-11d…
1 471859200 \?scsi#disk&ven_samsung&prod_ssd_850_pro_256g#5&1bc941f&0&010000#{53f56307…
2 103809024 \?scsi#disk&ven_samsung&prod_ssd_850_pro_256g#5&1bc941f&0&010000#{53f56307…
3 16777216 \?scsi#disk&ven_samsung&prod_ssd_850_pro_256g#5&1bc941f&0&010000#{53f56307…
4 D 255466668032 \?scsi#disk&ven_samsung&prod_ssd_850_pro_256g#5&1bc941f&0&010000#{53f56307…
1 G 1000202043392 \?scsi#disk&ven_samsung&prod_ssd_860_evo_1tb#5&1bc941f&0&060000#{53f56307-…
1 134217728 \?scsi#disk&ven_seagate&prod_backup+_hub_bk#8&2a5cdee5&0&000000#{53f56307-…
2 H 6001039245312 \?scsi#disk&ven_seagate&prod_backup+_hub_bk#8&2a5cdee5&0&000000#{53f56307-…
有趣的提示
每行 PowerShell 代码最后都有一个隐式的 Write-Output 调用。作为一种简单的替代方法,您可以通过将变量名称单独放在一行中来回显变量的内容。
PS> $diskpartitions
PartitionNumber DriveLetter Size DiskId
--------------- ----------- ---- ------
1 16777216 \?scsi#disk&ven_nvme&prod_sa
#...same content as before