Hyper-V USB Device Access: 4 Best Connection Approaches

Hyper-V excels as a robust enterprise hypervisor. However, its support for USB devices remains one of its major shortcomings. While users expect an easy and simple “passthrough” toggle, it actually needs a better, more practical strategy.

Warning: 

Hyper-V doesn’t have any built-in “attach” button for the USD controllers. So, Hyper-V can’t connect USB devices, such as scanners, webcams, dongles, etc., physically to a VM at the hardware level. 

Seeing that the built-in USB passthrough in Hyper-V isn’t a viable option, there are indirect approaches available: 

• USB-over-IP: This approach uses network-based USB hubs or third-party software to attach local devices to a V;
• RDP Redirection: This approach helps you access local devices through a Remote Desktop session;
• Offline Disk Mapping: This method helps you access USB storage by presenting it to a system as a physical disk device;
• DDA (Discrete Device Assignment): This approach works by handling a complete PCIe USB controller straight through to a virtual machine at the hardware level;

In this article, we’ll explain Hyper-V’s capabilities and limitations, compare every alternative approach’s advantages and disadvantages, to help find the right approach suitable for your workflow. 

Note for Linux-specific users: Approaches, such as Enhanced Session Mode and built-in RDP redirection, are specifically designed for Windows users. But if you are a Linux user, it is advisable to go directly to the USB Network Gate approach. This is the most stable solution for running workflows in a Linux VM. DDA is also unavailable for Linux guest VMs.

Now, let’s talk about the four workarounds we promised. 

Method 1: Built-in Device Redirection through RDP

Key Objective:

RDP allows users to quickly access files and peripheral devices on network-connected virtual machines. Devices, such as webcams and printers, benefit from optimal performance through high-level redirection. Low-level redirection is best reserved for hardware that depends on specialized drivers. Admins use usbdevicestoredirect to set eligible device classes and manage redirection centrally using Group Policy. 

The Remote Desktop Protocol (RDP) gives you the easiest way to access a Hyper-V USB device passthrough. This alternative approach works only on Windows without relying on third-party software. So, the RDP method is basically used in the peripheral devices, such as printers, smart cards, and flash drives. 

Hyper-V implements this approach in two different ways based on the method used to access the Virtual Machine. Let’s discuss them below. 

Enhanced Session Mode using Hyper-V Manager

In Enhanced Session Mode, Hyper-V uses local resources redirection to present the host-side devices and services to a VM session, even if there is no network connection. This method uses VMBus instead of standard TCP/IP. VMBus is a dedicated and high-throughput communication channel between the guest and host operating systems.

Pros:

  • Supports USB device redirection without relying on network connectivity
  • Implements local device redirection over the VMBus interface for low-latency
  • Facilitates various peripheral devices, such as flash devices, printers, etc.

Cons:

  • It only supports the Windows operating system on guest VMs.
  • You must select the USB devices you want to attach before launching a virtual machine.

Limitations

• Supports only Windows guest OS
• Requires VMBus and Hyper-V Manager instead of traditional RDP clients
• Unavailable on Server Core installations and in certain hardened enterprise environments 

Note: Enhanced Session Mode method is mostly active by default on Windows 10 and 11 hosts.

System requirements:

Host: Windows 10/11 or Windows Server 2016+ with Enhanced Session Mode Policy enabled. Supports VMConnect running on Windows 10/11 or Server 2016+. Guest: Must be running Windows 10/11 or Server 2016+ with Remote Desktop enabled.

How to Passthrough USB in Hyper-V?

1. Launch the Hyper-V manager on the host computer. Then, right-click on the name of the host and select Hyper-V Settings in the context menu that appears.

open Hyper-V settings via context menu

2. You can find the Server and User sections in the Setting window. Select Enhanced Session Mode Policy in the Server panel and tick the checkbox next to Allow enhanced session mode.

Select Enhanced Session Mode Policy

3. Next, select Enhanced Session Mode from the User section and check the Use enhanced session mode box. Click OK to confirm and save your changes.

Enhanced Session Mode from the User section

You can now access USB devices inside any Hyper-V virtual machine after enabling the Enhanced Session Mode.

Note: Close any active Hyper-V VM sessions at this point.

4. Launch the Hyper-V Manager and double-click the virtual machine’s name.

5. To set up your VM’s upcoming connections, select Show Options in the pop-up menu.

6. Next, select Local Resources and click More under Local Devices and Resources.

7. Next, check the options “Other supported Plug and Play devices” and “Devices that I plug in later” and confirm by clicking OK.

8. Check the appropriate box in the Display tab to save this configuration for all subsequent connections.

9. Click Connect to effect your modifications.

Using PowerShell (host)

1. Turn on Enhanced Session Mode globally:
Set-VMHost -EnableEnhancedSessionMode $true

2. Connect with VMConnect and choose local resources.

RDP-Based Device Redirection using MSTSC

When a VM has a specific IP address and is accessible on the network, the standard Remote Desktop Connection client (mstsc.exe) can be used to establish a connection. This approach functions without the need for Hyper-V Manager. 

Pros:

  • Utilizes the standard RDP client while working over the network
  • Doesn’t rely on Hyper-V Manager for operation
  • Ideal for remote access environments

Cons:

  • USB devices are released immediately upon RDP session termination
  • Performance is highly dependent on the network latency and available bandwidth

Limitations:

• Depends on an assigned IP address and an active network connection
• Allows Plug and Play devices only
• Does not provide persistent USB access outside of an active RDP session

Minimum System Requirements:

Guest: Windows must be installed with Remote Desktop enabled and available over the network.

Client: An RDP client with support for the necessary redirection is required, and low-level USB redirection is limited to Windows clients only. 

How to Activate

1. You will need to provide Remote Desktop Connections access on your VM. Connect to your virtual machine and look in the Control Panel for the System and Security options. Click on Allow remote access.

2. Ensure the Allow remote connections to this computer and Allow remote assistance connections to this machine boxes are checked, then click OK in the Remote tab of the System Properties window. Allow remote connections to this computer and Allow remote assistance connections to this machine boxes checked

3. Press Win + R to launch the Run program and type mstsc.exe in the text box. Hit Enter to run the Remote Desktop Connection application.

4. Click the Show Options button to expand the RDC dialog box.

5. Open the Local Resources tab and click More in the Local Devices and Resources section.

6. In the menu that appears, enable the Other supported Plug and Play (PnP) devices checkbox. Click OK.

7. Go back to the General settings tab and connect to your virtual machine using its username and IP address.

8. To launch your Remote Desktop session, click Connect.

9. Log in to the VM and check if the added USB devices are shown in File Explorer.

Method 2: Using USB Network Gate for USB-over-IP Passthrough

Key Objective:

USB Network Gate stands out as a cross-platform solution for Linux guest VMs and Server Coe systems with restricted device access. It runs independently of Hyper-V and doesn’t require hypervisor configuration.

Network-level USB redirection Hyper-V makes it possible for USB devices that are physically connected to one computer to be used by another computer over a Local Area Network (LAN). Inside the Hyper-V virtual machine USB, the device shows up just like it was plugged directly into the system, so you can use it normally without noticing any differences. 

This approach works independently of Hyper-V and can be used without modifying the hypervisor. It directs USB traffic over TCP/IP that makes this approach ideal for various Hyper-V USB device connections. 

USB Network Gate facilitates every USB device, including smartcards, webcams, printers, pen drives, dongles, and more, to establish communication with a Hyper-V virtual machine. The USB-over-IP approach is often used on Hyper-V hosts that run in Server Core deployments, where direct interaction with devices is restricted. 

USB Network Gate is the only suitable way for Linux users to link dedicated hardware while maintaining full feature support and consistent performance. 

USB Network Gate works as a client-server solution, where it enables you to give access to physical USB devices from a server-side host system to client-side remote PCs or virtual machines. This client-server setup lets Hyper-V VM to work with remote devices just like they were attached directly to the system, regardless of their physical distance. 

Pros:

  • Works with almost any USB device
  • Cross-platform support
  • No Hyper-V configuration required

Cons:

  • Requires third-party software installation
  • Adds operational and licensing overhead

Limitations:

• Requires stable network connectivity
• Introduces network latency that may affect real-time devices
• Not a native Hyper-V feature (USB-over-IP architecture)

Minimum System requirements: 

Compatible with Windows 7 SP1+ and later (including Server 2008 R2+), macOS 10.14+, Linux (Ubuntu and CentOS), Android 5.0+, and Raspberry Pi OS.

To use USB Network Gate, install it on both the host and VM and ensure a stable network connection is available. 

How to Use USB Devices in Hyper-V over a Network

1. Install USB Network Gate on both host and guest machines.

2. Open the app and share the USB device attached to the Hyper-V host.

share USB Hyper-V host

3. While operating the virtual machine, open the app and locate the shared USB device.

connect USB device to Hyper-V guest machine

4. Click Connect.

You can find detailed instructions on attaching a USB device to a Hyper-V guest machine over the network in the following video:

Using USB Network Gate to mount and access Hyper-V USB devices to a Virtual Machine is easy, fast, and convenient.

Method 3: Accessing a Physical Disk in Hyper-V Using SCSI Passthrough

Key Objective:

The primary objective of this method is to enable direct and exclusive VM access to a rw USB disk, which ensures that the host does not interfere with the device. This approach works well for data migration, VHDX-free recovery, and quickly connecting USB drives to VMs. 

Hyper-V lets you make USB storage devices available to virtual machines as if they were physical disks. In this architecture, it uses a SCSI controller to disconnect the USB devices from the host and connect them directly to the Virtual Machines (VM).

Note: A SCSI controller is needed for generation 2 virtual machines. Because generation 1 VMs work on both SCSI and IDE. However, SCSI is more preferable in this case, where you need to remove USB devices from the host and connect them to the VM without shutting down the VM.

Many users often mistake this method for USB passthrough Hyper-V. Although the same, this approach only works for mass storage devices. 

Pros:

  • Works well for Linux and Windows Hyper-V VM users
  • You’ll get the ability to manage USB storage devices access

Cons:

  • The setup process is challenging
  • It only applies to USB mass storage devices that aren’t removable during operation
  • A USB storage device can be connected to either the host or the virtual machine, but not both at the same time

Limitations:

• Only supports USB storage devices, such as external hard drives or flash drives
• USB devices are presented as drives, not as standard USB hardware
• The host and virtual machine can’t use the device at the same time
• Can’t always remove the device while it’s in use
• Doesn’t work with scanners, dongles, webcams, HID devices, or smart cards

Minimum System requirements: 

Hyper V on Windows 10/11 or Windows Server is required, plus an additional disk configured offline on the host, and the target is not the host OS disk. 

How to Activate

1. Launch the Disk Management app. To do so, open Disk Management from the Start context menu. Alternatively, press Win + R to open the Run program and open diskmgmt.msc.

run diskmgmt.msc

2. Since the host and VM can not access the USB drive simultaneously, you need to set the USB drive offline on the host first. To set the USB drive offline, find it among the devices listed in Disk Management, right-click on it and select the Offline option.

set the USB drive offline

3. Now that the host operating system has no direct access to the USB storage, you can enable Hyper-V USB passthrough. Simply open the Hyper-V manager, right-click on the VM that requires access, and choose Settings in the context menu.

open Hyper-V machine settings

4. Find the SCSI tab on the left side of the settings menu and click on it. Next, click Add under the Hard Drive option.

add Hard Drive in SCSI Controller
Note:  Rather than employing a SCSI Controller, you can add the hard drive to the IDE Controller. However, you should note that users won’t be able to disconnect it from the VM without first shutting it off. We advise introducing the disk as a SCSI device that may be removed from an active VM to save time.

5. Select the Physical hard drive option under SCSI Controller > Hard Drive from the menu on the left, then select the USB drive. Ensure that the disk number on the selected drive must match the disk you pulled offline in Disk Management. Click OK to save your changes.

Launch your Hyper-V VM’s File Explorer after adding the drive. The USB storage drive inside the VM should now be visible.

With PowerShell on the host machine

  1. Detect the USB disk on the host machine and set it to offline.

Get-Disk | Where-Object BusType -eq USB

Set-Disk -Number <DiskNumber> -IsOffline $true

2. Use the disk number to attach the offline physical disk to the virtual machine.
Add-VMHardDiskDrive -VMName “<VMName>” -ControllerType SCSI -DiskNumber <DiskNumber>

Note: Keep in mind that pass-through disks are compatible with export or migration workflows and may disrupt backups and checkpoints compared to VHDX-based storage.

Method 4: Using Discrete Device Assignment (DDA) to Enable USB Passthrough in Hyper-V

Primary purpose

DDA provides near-real USB passthrough by dedicating a PCIe USB controller to a virtual machine, enabling low-level access and vendor drivers. The device is removed from the host while the VM receives essentially native performance and full driver compatibility. This technique is a viable alternative when RDP redirection cannot meet the USB device’s protocol and driver requirements.

Pros:

  • Near-real hardware passthrough
  • Excellent performance and compatibility for USB devices with a dedicated controller
  • Works with specialized hardware requiring vendor drivers (dongles, lab equipment, security keys)

Cons:

  • Requires advanced skills
  • No host access to the device while assigned to VM
  • Requires VM restart when adding the device

Limitations:

• No VM save/restore, no live migration, no dynamic memory while device is assigned
• Only works on Windows Server 2016/2019/2022/2025 with Hyper-V — not available on Windows 10/11 Home
• Requires Gen2 VM
• Not all PCIe USB controllers are compatible — verify with Microsoft’s DDA script

Minimum System requirements: 

Supported OS: Windows Server editions with Hyper-V, such as 2016, 2019, 2022, and 2025

Hardware: CPU support for EPT/NPT and an IOMMU with interrupt and DMA remapping is required, along with BIOS/firmware settings enabled for these features (similar to SR-IOV requirements).

How to use DDA to pass a USB controller to a Hyper-V VM

Collect information and prepare the environment:

  1. Confirm DDA requirements: you need Windows Server Hyper-V and hardware that supports IOMMU/ACS and device isolation. Review DDA planning guidance for limitations while the device is attached.
  2. Find the controller’s location path: open Device Manager on the host → expand Universal Serial Bus controllers → choose the USB controller to dedicate → Details tab → Property: Location paths → copy the PCIROOT(…) string.


Assign the controller with PowerShell (VM must be off)

(Optional) Size MMIO for the VM:

$vm = “<VMName>”

Set-VM -Name $vm -LowMemoryMappedIoSpace 3GB -HighMemoryMappedIoSpace 33280MB

Dismount the controller from the host and assign to the VM:

$loc = “<PCIROOT(…from Device Manager…)>”

Dismount-VMHostAssignableDevice -LocationPath $loc -Force

Add-VMAssignableDevice -VMName $vm -LocationPath $loc

Start the VM and install the vendor driver in the guest if needed.

To revert:

Remove-VMAssignableDevice -VMName $vm -LocationPath $loc

Mount-VMHostAssignableDevice -LocationPath $loc

Note: DDA does not work with all controllers and devices. Verify compatibility with Microsoft’s DDA script or the vendor’s documentation before proceeding.

Conclusion

Although Hyper-V doesn’t have a one-click, built-in USB passthrough toggle, it provides other adaptable alternatives based on your operating system and hardware requirements. To select the most suitable approach for your specific workflow, we provide a quick summary of the alternative methods discussed in this article. 

Method Best For Supported Devices Guest OS Setup Complexity
USB Network Gate Professional Use Almost any (Dongles, Webcams, etc.) Windows, Linux, macOS Low
Physical Disk (SCSI) Large Storage External HDDs, Flash Drives only Windows, Linux Medium
Enhanced Session Local Admin Work Basic Plug and Play devices, such as flash drives Windows Only Low
RDP Redirection Remote Access Limited PnP devices Windows Only Low
DDA Enterprise / Power Users USB Controllers (PCIe) Windows Server High

Understanding these differences helps you save time and avoid the frustration of trial and error. Whether you want the flexibility of network-based USB access or the simplicity of Enhanced Session Mode, you can now use the tools that bring together your physical devices and your Hyper-V virtual setup. 

FAQ

No, Hyper-V doesn’t include a built-in option for USB passthrough. You can connect USB devices to a VM only through workarounds, such as SCSI disk passthrough, third-party software like USB Network Gate, DDA, Enhanced session mode, or RDP redirection.

Yes, it is possible to use a USB dongle inside a Hyper-V virtual machine using methods like USB Network Gate (USB-over-IP) and DDA. RDP redirection may not work with all the device types due to driver constraints. 

Discrete Device Assignment (DDA) in Hyper-V allows an entire PCIe USB  controller to be dedicated to a virtual machine. When a controller is assigned through DDA, the host loses access to it, and the feature is available only on Windows Server and later. 

Enhanced Session Mode routes RDP through VMConnect over VMBus instead of using a traditional network connection. It continues to work even when no IP address is assigned to the VM. Standard RDP via mstsc.exe only works when the VM is reachable on the network.

Yes, however, it is limited in functionality. Both RDP redirection and Enhanced Session Mode are supported on Windows 10 and 11. DDA is supported only on Windows Server. When you need full cross-device support on Windows 10 and 11, USB Network Gate is the most practical choice.