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