Powershell - Ocupação de slots PCI / PCIe

4

Dado que um sistema Windows 10 com o Windows Powershell 5.0 foi executado como Administrador, eu preciso listar todos os slots da placa-mãe e o nome dos dispositivos que os ocupam, se houver.

Win32_SystemSlot , com

Get-WmiObject -class "Win32_SystemSlot"

parece enumerar os slots com números estranhos, mas não os dispositivos.

Win32_PnPEntity enumera os dispositivos, sem os slots.

Eu gostaria de obter algo como

Slot            Device
---
PCIEX16_1       NVidia GeForce GTX 680...
PCIEX1_1        Empty

É possível? Se sim, como?

    
por BowPark 16.11.2016 / 12:18

1 resposta

2

Por acaso sei que você consegue isso para placas de rede usando:

> Get-NetAdapterHardwareInfo

Name                           Segment Bus Device Function Slot NumaNode PcieLinkSpeed PcieLinkWidth Version
----                           ------- --- ------ -------- ---- -------- ------------- ------------- -------
Wi-Fi                                0   2      0        0    4               2.5 GT/s             1 1.1
Ethernet                             0   3      0        0    5               2.5 GT/s             1 1.1

Usando o módulo sugerido por @Lenniey acima de você Parece que você pode encontrar a localização dos dispositivos procurando aqueles com um LocationInfo iniciando o "barramento PCI" e um UINumber diferente de zero:

> Get-device | where {$_.LocationInfo -like 'PCI bus*' -and $_.UINumber -ne 0} | select Name, LocationInfo, UINumber

Name                                  LocationInfo                     UINumber
----                                  ------------                     --------
Realtek PCIe GBE Family Controller    PCI bus 3, device 0, function 0         5
Intel(R) Centrino(R) Wireless-N 2230  PCI bus 2, device 0, function 0         4

Acima, eu tenho minha placa de rede no slot 5 e meu wifi no slot 4.

Você pode comparar isso com a lista de portas raiz do PCI Express:

> Get-device | where {$_.Name -eq 'PCI Express Root Port'} | select Name,LocationInfo

Name                   LocationInfo
----                   ------------
PCI Express Root Port  PCI bus 0, device 28, function 5
PCI Express Root Port  PCI bus 0, device 28, function 0
PCI Express Root Port  PCI bus 0, device 28, function 4

Isso informa que tenho um terceiro espaço sem nada conectado, o que está de acordo com o que vejo no Gerenciador de dispositivos.

Advertência; Não sou especialista em hardware, adivinhei isso com base no que posso ver na minha máquina.

Para confirmar que isso não está relacionado apenas a adaptadores de rede, se eu remover o filtro em 'UINumber -ne 0', posso ver todos os outros dispositivos conectados ao barramento PCI, já que eles são todos internos, eles não tem um número de slot:

Name                                                                              LocationInfo                      UINumber
----                                                                              ------------                      --------
Realtek PCIe GBE Family Controller                                                PCI bus 3, device 0, function 0          5
Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C26  PCI bus 0, device 29, function 0         0
PCI Express Root Port                                                             PCI bus 0, device 28, function 5         0
High Definition Audio Controller                                                  PCI bus 0, device 27, function 0         0
Intel(R) Centrino(R) Wireless-N 2230                                              PCI bus 2, device 0, function 0          4
Intel(R) Management Engine Interface                                              PCI bus 0, device 22, function 0         0
LPC Controller                                                                    PCI bus 0, device 31, function 0         0
PCI Express Root Port                                                             PCI bus 0, device 28, function 0         0
Memory Controller                                                                 PCI bus 0, device 0, function 0          0
PCI Express Root Port                                                             PCI bus 0, device 28, function 4         0
SM Bus Controller                                                                 PCI bus 0, device 31, function 3         0
Standard SATA AHCI Controller                                                     PCI bus 0, device 31, function 2         0
Intel(R) HD Graphics                                                              PCI bus 0, device 2, function 0          0
Thermal Control Device                                                            PCI bus 0, device 31, function 6         0
Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C2D  PCI bus 0, device 26, function 0         0
    
por 25.04.2017 / 05:18