windows - WMI MSFT\_Disk Location returnerer mærkelig værdi

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at hente oplysninger om drevets fysiske steder, f.eks. Location path i DiskPart (strenge som PCIROOT(0)#PCI(0100)#ATA(C01T03L00)) https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/harddisk-location-sti-format [10]


Jeg fandt ud af, at WMI MSFT\_Disk klasse (Win 8+) har Location egenskab, som skal returnere denne streng ifølge docs https://msdn.microsoft.com/en-us/library/windows/desktop/hh830493(v=vs.85).aspx[11]


Det fungerer fint på en bærbar computer og endda i VMWare VM (testet med wmic /namespace:\RootMicrosoftWindowsStorage path msft\_disk get model, location i admin cmd):


Location                                       Model 
PCIROOT(0)#PCI(1500)#PCI(0000)#SAS(P00T00L00)  VMware Virtual S
PCIROOT(0)#PCI(1500)#PCI(0000)#SAS(P00T01L00)  VMware Virtual S
PCIROOT(0)#PCI(1500)#PCI(0000)#SAS(P00T02L00)  VMware Virtual S


Men på min pc (nyeste Win10, Asus Z87 Bundkort) får jeg output som dette


Location                         Model 
Integrated : Adapter 2 : Port 3  Samsung SSD 850 PRO 512GB
Integrated : Adapter 2 : Port 4  WDC WD10EZRX-00A8LB0
...
Integrated : Adapter 0 : Port 0  Transcend 16GB
Integrated : Adapter 0 : Port 0  Elements 25A2


mens de i DiskPart er i forventet format (PCIROOT(0)#PCI(1F02)#ATA(C03T00L00) for det første drev). Steder for USB-drev (de sidste to) er stadig ikke tilgængelige, men jeg er mest bekymret for SATA.


Er det en fejl? :) Er der nogen anden nem måde at hente disse strenge undtagen at kombinere resultater fra API'er beskrevet i DiskPart docs?

Bedste reference