¿Hay alguna manera de detectar a través del sistema operativo la cantidad de controladores USB internos y qué conector/puerto está asignado a qué controlador cuando hay más de un controlador disponible?
Respuesta1
Número de controladores USB:
powershell -Command "@(gwmi Win32_USBController).count"
Dispositivos asignados por controlador (nuevamente, código de PowerShell), pero sin números de puerto:
gwmi Win32_USBControllerDevice | % { $parent = [wmi] $_.Antecedent $child = [wmi] $_.Dependent $parent.caption + '\' + $child.caption } | sort
Esa es prácticamente toda la información que puede obtener de las clases de WMI USB.
Si necesita más detalles, puede utilizar una herramienta gráfica comoVisor de árbol de dispositivos USBo desarrolle el suyo propio modificando el código fuente de C++ desde unprograma de muestra de Microsoft llamado usbview.