Я пытаюсь создать объект с информацией обо всех дисках, который выглядит примерно так:
[
{"letter": "C:", "volumeName": "Disk C", "brand": "INTEL ModelName", "mediaType" : "Fixed hard disk media"},
{"letter": "D:", "volumeName": "Disk D", "brand": "Seagate ModelName", "mediaType" : "Fixed hard disk media"},
]
Но следующая команда powershell выдает не только плохо отформатированные результаты, но и объект для каждого свойства 1-го диска вместо того, чтобы помещать все свойства каждого диска в объект:
% {New-Object PSObject -Property @{'caption' =$(wmic logicaldisk get caption $_); 'volumeName' =$(wmic logicaldisk get VolumeName $_); 'brand' =$(wmic diskdrive get caption $_); 'format' =$(wmic diskdrive get mediaType $_);}} | format-list
Обновить
Я попытался использовать эту команду вместо этого:
Get-WMIObject Win32_LogicalDisk | % {New-Object PSObject -Property @{'caption' =$($_.caption); 'volumeName' =$($_.VolumeName); 'brand' =$(); 'format' =$()}} | format-list
что дает мне половину ценностей
caption : C:
brand :
format :
volumeName : SSD
caption : D:
brand :
format :
volumeName : Disk D
caption : E:
brand :
format :
volumeName : Disk e
caption : F:
brand :
format :
volumeName :