Apa sintaks WMI / WQL Query untuk menghubungkan semua perangkat ke USB Hub tertentu?
Saya dapat membuka terminal PS dan menghitung semua Perangkat Hub USB, seperti:
gwmi Win32_UsbHub | fl *
Output akan mengembalikan daftar semua perangkat USB Hub pada sistem. Berikut adalah contoh dari salah satu perangkat tersebut.
Device ID: USB\VID_0451&PID_DD01\6&16FAF918&1&2, PNP Device ID: USB\VID_0451&PID_DD01\6&16FAF918&1&2, Description: Generic SuperSpeed USB Hub
Availability
Caption=Generic SuperSpeed USB Hub
ClassCode
ConfigManagerErrorCode=0
ConfigManagerUserConfig=False
CreationClassName=Win32_USBHub
CurrentAlternateSettings
CurrentConfigValue
Description=Generic SuperSpeed USB Hub
DeviceID=USB\VID_0451&PID_DD01\6&16FAF918&1&2
ErrorCleared
ErrorDescription
GangSwitched
InstallDate
LastErrorCode
Name=Generic SuperSpeed USB Hub
NumberOfConfigs
NumberOfPorts
PNPDeviceID=USB\VID_0451&PID_DD01\6&16FAF918&1&2
PowerManagementCapabilities
PowerManagementSupported
ProtocolCode
Status=OK
StatusInfo
SubclassCode
SystemCreationClassName=Win32_ComputerSystem
SystemName=JMR-ENG-SARAH
USBVersion
Menggunakan katakanlah PNPDeviceIDuntuk hub ini, saya ingin mendapatkan semua perangkat yang terhubung, jika ada untuk itu.
Saya benar-benar hijau dengan PS dan WMI, tetapi saya berpikir untuk menggunakan ASSOCIATES OFsebagai berikut:
Get-WmiObject Win32_PnPEntity | select "ASSOCIATORS OF {Win32_UsbHub.DeviceID='USB\VID_0451&PID_DD01\6&16FAF918&1&2'}"
Anehnya, pencacahan tidak mencantumkan orang tua dan anak-anak, meskipun Pengelola Perangkat mencantumkan hal-hal dengan baik dan memiliki Orang Tua.
Mungkin seperti yang saya ucapkan. Banyak cara lain membuat kesalahan, jadi saya melakukan penelitian dan melihat sintaks ini. Saya awalnya berpikir untuk menggunakan gwmiperintah. Bagaimanapun, saya tahu Device Managerbahwa ada perangkat yang terhubung, tetapi perintah di atas menghasilkan layar kosong.
WMI Explorer tidak banyak membantu.
Apa yang akan menjadi SELECTpernyataan untuk digunakan?

