Powershell USB queries
# query usb drives
Get-CimInstance -ClassName Win32_DiskDrive | where{$_.InterfaceType -eq 'USB'}
# query logical usb drives
Get-CimInstance -ClassName Win32_LogicalDisk | where{$_.DriveType -eq '2'}
# query all USB on PnP
Get-PnpDevice -PresentOnly | Where-Object { $_.InstanceId -match '^USB' } | format-table -auto
# query usb hub
Get-PnpDevice -FriendlyName 'Generic USB Hub'
# query mouse
Get-PnpDevice -Class 'Mouse'
# query all usb devices including hubs
Get-WmiObject Win32_USBControllerDevice | ForEach-Object { [wmi]$_.dependent } | select-Object description,deviceid