- As part of a user's session on a VM
- Always available to the VM; for example, a USB dongle that must be available for a piece of software or service to function
Hyper-V doesn't allow the pass-through of a USB-attached device on a host to a VM. This would break the desired abstraction of the VM from the hardware, and therefore stop VM mobility. however this doesn't mean there are no solutions.
For the first scenario, a USB device available as part of a user's session on a VM, the solution is to use the Remote Desktop Protocol (RDP) capability to pass a locally attached USB device on the user's local device directly through to the remote VM. With Windows Server 2012 and RemoteFX technology, it's possible to redirect almost any USB device over RDP.
The second scenario, a USB device to always be connected to a VM even when a user isn't logged on, requires the use of third-party solutions that enable USB over IP. The solutions work by having a physical server that has all the USB devices connected to it and runs a service that enables the USB devices to be accessed remotely over IP.
The VMs then run a piece of client software that connects to the USB device over IP, and it looks to the VM like a local USB device. The benefit to these types of solutions is the VM can still be moved between hosts without losing connectivity to the USB device. There are many solutions available; among them are two I have seen used by my customers: