Dado un sistema Windows 10 con Windows Powershell 5.0 ejecutado como Administrador, necesito enumerar todas las ranuras de la placa base y el nombre de los dispositivos que las ocupan, si corresponde.
Win32_SystemSlot , con
Get-WmiObject -class "Win32_SystemSlot"
parece enumerar las ranuras con números extraños, pero no los dispositivos.
Win32_PnPEntity enumera en su lugar los dispositivos, sin las ranuras.
Me gustaría obtener algo como
Slot Device
---
PCIEX16_1 NVidia GeForce GTX 680...
PCIEX1_1 Empty
¿Es posible? Si es así, ¿cómo?
windows-10
motherboard
powershell
pci-express
BowPark
fuente
fuente
Respuestas:
Sé que obtienes esto para las tarjetas de red usando:
Usando el módulo sugerido por @Lenniey encima de usted Parece que puede encontrar la ubicación de los dispositivos buscando aquellos con un LocationInfo que inicie el "bus PCI" y un número UIN distinto de cero:
En lo anterior, tengo mi tarjeta de red en la ranura 5 y mi wifi en la ranura 4.
Luego puede comparar esto con la lista de puertos raíz PCI Express:
Eso le dirá que tengo una tercera ranura con nada enchufado, que está de acuerdo con lo que veo en el Administrador de dispositivos.
Advertencia; No soy un experto en hardware, solo adiviné esto en base a lo que puedo ver en mi máquina.
Para confirmar que esto no solo está relacionado con los adaptadores de red, si elimino el filtro en 'UINumber -ne 0', puedo ver todos los demás dispositivos conectados al bus PCI, sin embargo, dado que todos están integrados, no tener un número de ranura:
fuente
Vea qué autobuses hay en un sistema:
Hay un
DEVPKEY_Device_Address
parámetro de controlador, en el que los 16 bits superiores son el número de dispositivo y los 16 bits inferiores son el número de función:... y
DEVPKEY_Device_LocationInfo
parámetro:fuente