Uau! ... WMI Explorer, eu não vi isso usado em anos. Eu ainda tenho isso, e outros gostam disso. PowerShellScript-o-Matic e afins 8 ^}
Existem os melhores em vez do WMI Explorer, todos escritos em PS. Confira:
De qualquer forma, como você consulta. Nem todas as coisas são possíveis apenas com o PS. Há muitos casos em que você tem que usar o código real, ou seja, C # / C / C + / C ++ para obter esse tipo de coisa.
Muito do que você vê nesses MMCs do sistema operacional são chamadas diretamente para alguma referência de arquivo / programação DLL / OCX, que não é diretamente exposta para o PS agir diretamente. É por isso que o Add-Type existe, portanto, pode-se adicionar C # / C / C + / C ++, outras construções de linguagem para obter ou interagir com o que é necessário.Tudo o que foi dito ... É isso, mais perto do que você procura depois?
Get-WmiObject -Class Win32_USBControllerDevice |
%{[wmi]($_.Dependent)} |
Sort Manufacturer,Description,DeviceID |
Format-Table -AutoSize -GroupBy Manufacturer Description,Service,DeviceID
Manufacturer: (Generic USB Audio)
Description Service DeviceID
----------- ------- --------
USB Audio Device usbaudio USB\VID_047F&PID_C009&MI_00&461FC04&0&0000
USB Audio Device usbaudio USB\VID_17A0&PID_0305&MI_00&109E1BB1&0&0000
Manufacturer: (Standard keyboards)
Description Service DeviceID
----------- ------- --------
HID Keyboard Device kbdhid HID\VID_045E&PID_00DB&MI_00\A&163A9F80&0&0000
Manufacturer: (Standard monitor types)
Description Service DeviceID
----------- ------- --------
Generic PnP Monitor monitor DISPLAY\ACI2183\C&8538F4&0&UID256
Generic PnP Monitor monitor DISPLAY\ACI27F6&5458763&0&UID256
Generic PnP Monitor monitor DISPLAY\ACI27F6&5458763&0&UID257
Ou isso ...
Get-WmiObject Win32_PNPEntity |
Select Manufacturer,Description,Name,Service,DeviceID
Ou veja isso ...
Device Management PowerShell Cmdlets
This module exposes cmdlets that calls into SetupAPI functions and provides device enumeration and management functions.
https://gallery.technet.microsoft.com/Device-Management-7fad2388
Atualização por comentário do OP
De acordo com o meu comentário para você. Isso deve ser útil para o que você está procurando. Você pode ler o artigo inteiro, é curto, mas acrescentei os pontos principais aqui.
UsbTreeView : View Usb devices and hubs they are in in a user friendly form
http://flow-morewithless.blogspot.com/2014/05/usbtreeview-view-usb-devices-and-hubs.html
you cannot get information about the connections because Microsoft wants that information to be hidden Only way to get the child-parent-connection information would be to to go to driver level.
A Visual C project compiled to an EXE.
https://github.com/mkielar/get-parent-device
Create a friendly name list (Powershell hash array) is in file UsbDeviceNames.ps1
$OwnUsbDeviceNames = @{
"USB\VID_04E5&PID_0605&13F4C3E&0&6" = "Hama 4port passive USB hub ( the grey one)";
"USB\VID_1A40&PID_0101&DF2EE03&0&5" = "Deltaco Active Usb 2.0 cable";
"USB\VID_1A40&PID_0101&19BC4090&0&1" = "Delock USB2.0 4port active mini hub (the black round one)";
"USB\VID_0403&PID_6001\FTFSDFHD" = "FTDI Serial (COM5) to projector";
"USB\VID_0403&PID_6001\FTFXXLHS" = "FTDI Serial (COM8) to tv";
"Something" = "is nothing"
}
The PS tool
https://github.com/MarkoMarjamaa/UsbTreeView