Windows Powershell 5.0を搭載したWindows 10システムが管理者として実行されたとすると、すべてのマザーボードスロットと、それらを使用するデバイスの名前(ある場合)をリストする必要があります。
Get-WmiObject -class "Win32_SystemSlot"
奇妙な数字でスロットを列挙しているようですが、デバイスは列挙していません。
Win32_PnPEntity 代わりに、スロットなしでデバイスを列挙します。
次のようなものを入手したい
Slot Device
---
PCIEX16_1 NVidia GeForce GTX 680...
PCIEX1_1 Empty
出来ますか?はいの場合、どのように?
私はあなたがネットワークカードのためにこれを手に入れることを知っています:
> 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
上記の@Lennieyによって提案されたモジュールの使用LocationInfoで始まる「PCIバス」とゼロ以外のUINumberを持つデバイスを探すことで、デバイスの場所を見つけることができるようです。
> 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
上記では、ネットワークカードをスロット5に、Wi-Fiをスロット4に持っています。
次に、これを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
これは、何も接続されていない3番目のスロットがあることを示しています。これは、デバイスマネージャーに表示されるものと一致します。
警告;私はハードウェアの専門家ではありません。これは、自分のマシンで確認できるものに基づいて推測しただけです。
これがネットワークアダプターに関連しているだけではないことを確認するために、「UINumber -ne 0」でフィルターを削除すると、PCIバスに接続されている他のすべてのデバイスが表示されますが、すべて内蔵されているため、スロット番号があります:
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
システム上にあるバスを確認します。
PS C:\Users\Administrator> gwmi Win32_Bus | ft DeviceID
DeviceID
--------
PNP_BUS_0
ACPIBus_BUS_0
PCI_BUS_0
有る - DEVPKEY_Device_Address
ドライバパラメータ。上位16ビットはデバイス番号、下位16ビットは関数番号です。
PS C:\Users\Administrator> (gwmi Win32_Bus -Filter 'DeviceID like "PCI%"').GetRelated('Win32_PnPEntity').GetDeviceProperties('DEVPKEY_Device_Address').deviceProperties | ft DeviceID,keyName,{$_.data -shr 16},{$_.data -band 0xFFFF}
DeviceID keyName $_.data -shr 16 $_.data -band 0xFFFF
-------- ------- --------------- --------------------
PCI\VEN_8086&DEV_7000&SUBSYS_00000000&REV_00\3&267A616A&0&08 DEVPKEY_Device_Address 1 0
PCI\VEN_80EE&DEV_CAFE&SUBSYS_00000000&REV_00\3&267A616A&0&20 DEVPKEY_Device_Address 4 0
PCI\VEN_8086&DEV_2829&SUBSYS_00000000&REV_02\3&267A616A&0&68 DEVPKEY_Device_Address 13 0
PCI\VEN_8086&DEV_1237&SUBSYS_00000000&REV_02\3&267A616A&0&00 DEVPKEY_Device_Address 0 0
PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&18 DEVPKEY_Device_Address 3 0
PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&40 DEVPKEY_Device_Address 8 0
PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&48 DEVPKEY_Device_Address 9 0
PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&50 DEVPKEY_Device_Address 10 0
PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&80 DEVPKEY_Device_Address 16 0
PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&88 DEVPKEY_Device_Address 17 0
PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&90 DEVPKEY_Device_Address 18 0
PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&98 DEVPKEY_Device_Address 19 0
PCI\VEN_80EE&DEV_BEEF&SUBSYS_00000000&REV_00\3&267A616A&0&10 DEVPKEY_Device_Address 2 0
...そして DEVPKEY_Device_LocationInfo
パラメータ:
PS C:\Users\Administrator> (gwmi Win32_Bus -Filter 'DeviceID like "PCI%"').GetRelated('Win32_PnPEntity').GetDeviceProperties('DEVPKEY_Device_LocationInfo').deviceProperties | ft data,DeviceID
data DeviceID
---- --------
PCI bus 0, device 1, function 0 PCI\VEN_8086&DEV_7000&SUBSYS_00000000&REV_00\3&267A616A&0&08
PCI bus 0, device 4, function 0 PCI\VEN_80EE&DEV_CAFE&SUBSYS_00000000&REV_00\3&267A616A&0&20
PCI bus 0, device 13, function 0 PCI\VEN_8086&DEV_2829&SUBSYS_00000000&REV_02\3&267A616A&0&68
PCI bus 0, device 0, function 0 PCI\VEN_8086&DEV_1237&SUBSYS_00000000&REV_02\3&267A616A&0&00
PCI bus 0, device 3, function 0 PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&18
PCI bus 0, device 8, function 0 PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&40
PCI bus 0, device 9, function 0 PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&48
PCI bus 0, device 10, function 0 PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&50
PCI bus 0, device 16, function 0 PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&80
PCI bus 0, device 17, function 0 PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&88
PCI bus 0, device 18, function 0 PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&90
PCI bus 0, device 19, function 0 PCI\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\3&267A616A&0&98
PCI bus 0, device 2, function 0 PCI\VEN_80EE&DEV_BEEF&SUBSYS_00000000&REV_00\3&267A616A&0&10