Accessing USB devices from within Microsoft virtual machines

This content is 16 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

In my Hyper-V presentation on Wednesday, I said that USB support was one of the things that is missing from Hyper-V. That is correct – i.e. there is no ability to add USB devices as virtual hardware – but, in a conversation yesterday, Clive Watson pointed out that if you connect to a virtual machine using RDP, there is the ability to access local resources – including hard drives and smart card readers.

The way to do this is to use the Local Resources tab in the Remote Desktop Connection client options, where local devices and resources may be specified for connection:

Accessing local resources in the RDP client

If you click more, there is the option to select smart cards, serial ports, drives and supported plug and play devices (i.e. those that support redirection). In this case, I selected the USB hard drive that was currently plugged into my computer:

Accessing local resources in the RDP client

And when I connect to the virtual machine using RDP, it is listed the drive as driveletter on localmachine:

Accessing local resources via RDP - as seen on the remote machine

This is really a Terminal Services (presentation virtualisation) feature – rather than something in Hyper-V – and so it is true to say that there is no USB device support in Hyper-V for other access methods (e.g. from a virtual machine console) and that the RDP connection method is a workaround for occasional access. Microsoft see USB support as a desktop virtualisation feature and the only way that will change is if they see enough customer feedback to tell them that it’s something we need on servers too.

16 thoughts on “Accessing USB devices from within Microsoft virtual machines

  1. there are software packages that require USB dongles for licensing their appplications….w/o that support, I guess we will have to revert to VMWARE?

  2. It depends on whether those applications need constant access to the dongle or whether it is sufficient to be able to use an RDP connection to license the product and then leave it. The main problem is smartcard support (e.g. for authentication), in which case the RDP workaround is fine.

    To be honest, there are not many mainstream server applications that use the USB dongle licensing model. Perhaps you’ll see USB support in subsequent releases of Hyper-V but it’s not directly supported in the current release.

  3. Nearly every accessory on my computer is accessed through the USB features of my new Vista :-( Machine. I need functions outside of jump drives (which VM already explains that it supports anyway). I am currently thinking of going to vmware for a vm that supports usb. Not allowing vm to use USB is like giving someone a car without wheels on it these days…

  4. Geoff – if you’re virtualising on Vista, then VirtualPC is the recommended virtualisation (Microsoft) platform for you. If you’re virtualising multiple desktops, then RDP allows USB access (so no problem). If you’re running Hyper-V on your daily PC and accessing VMs directly (like I am) then you’re not in the target market for the product (I think the term “enthusiast” is reserved for us). I still don’t get why they don’t give us USB support in Hyper-V but it’s not exactly a show-stopper.

  5. [quote] there are software packages that require USB dongles for licensing their appplications….w/o that support, I guess we will have to revert to VMWARE? [/quote]

    I 100% agree with this.
    I have successfully virtualised license servers for CAD and 3d from Autodesk and Chaos Group (VRAY) that require a USB dongle.
    The suggestion above to create an RDP session to access a USB dongle locally is not good enough.
    I insist on having “servers” serve their “services” automatically, with no admin intervetion and set up after every reboot!

    The fact that Microsoft could already overlook this important feature and think it is just required for deskstop virtualisation indicates they don’t know the market well enough.
    If your competitor already has a given feature, then you better be damn sure why you don’t need to include it in your product.
    You’ve dropped the ball on this one.

    But congrats on recent developments to improve Hyper-V with Live Migration. Can’t wait to try it.

  6. Ryan – you said “you’ve” dropped the ball on this one… I don’t work for Microsoft :-)

    I (and many others) have provided feedback to Microsoft on why this is an important feature though… only time will tell if they are actually listening.

    Cheers, Mark

  7. Those saying they will go to VMWARE because it supports USB are a little misguided. VMWare ESX – the equivalent of Hyper-V does NOT support USB usage within the guests.

    The workstation versions of VMWARE (VMWare Player, Workstation, and “Server”) do support it, but so does Microsoft Virtual PC and Virtual Server that are the equivalent Microsoft products.

    Community users are crying out for USB support in both platforms – there are ways to do it such as Lantronix UBOX2100 / 4100 but at about $300 each and a plug pack sucking juice and yet another network connection it sort of defeats the virtualisation purpose to some extent.

  8. Where is the best place for us to make this comment or give this feedback to MS. I am an enthusiast, trying to make the most with the equipment I have. So I started running Win2k8 r2 with Hyper V for testing the applications I work with, as a server platform isn’t a desktop platform (as much as some articles try to make out that it can be a workstation), I require Smart card access to start the VPN back to work. I virtualised my SOE from work and now to connect to work, I must open the VM in the console and log in, RDP in and start the VPN, (which kills the RDP session) and then log in again to the console.

    I’m not too far down the track that I can’t turn around, and just convert the other machines to VMWare Workstation. Where I will have USB support, and the ability to drag objects in and out of the console (another piece missing). Once the machine is in the VPN, there is no way to get at my home network to ‘share’ files. So I have to log out of the VPN to copy a file and then start the process again.

    Before you say anything I can’t change the VPN client settings, the SOE doesn’t allow it. So while I agree that HyperV is aimed at ESX type buyers… Those buyers tend to also want to leverage as much of this technology as they can elsewhere. And with no virtual pc support for 64 bit, or alot of other things, they are missing the boat on who is the ultimate buyer/influencer.

    In my case, I influence how a large team of sales and presales create and maintain their demos of our product, and right now, I’ll be probably moving back to VMWare, as the hyper v solution is impractical.

    My two cents.

  9. @Kris – running Hyper-V on a workstation has a number of limitations – and the product team has had plenty of feedback from myself and others indicating that we’d like to see a decent client-side virtualisation solution with x64 guest support.

    If all you want is a workstation with USB device access to test applications running virtually, why not use Virtual PC? There are some specific cases for running Hyper-V on a workstation (like 64-bit guest support) but you don’t mention them. Another client virtualisation option (that I have not tried) and which avoids paying for VMware Workstation is Sun VirtualBox.

  10. This has been a very interesting post to study. My company has recently installed a new Hyper-V environment where we have a number of users RDP’ing into XP VMs. Three of the users are using HP t5730w Thin Clients and remoting into the VMs. I have one Thin Client user who has to have a printer at her desktop in addition to the network printers, so I installed the printer on the HP Thin Client but found out that the local USB resource (printer) wasnt translating over to the RDP session. We are now forced to share the printer from the Thin Client in order to install the printer on the XP VM.

  11. Well that kills it for two of my critical needs.
    1) backups / restores – most new OS do not support tape anymore in preference to external USB drives
    2) USB dongle to support a dongle key for an application

    makes ya wonder WTH they were thinking seeing as how 2008 is drive backup only

  12. One of the main reasons to want to use USB or Virtual Machines for that matter is that desktop OS’s screw up all the time, hardware fails, etc. I can’t COUNT the number of times I’ve had to reinstall Office or an application that is specialized for someones needs that accesses a USB device. I’m sick and tired or rebuilding my OS machines and that should be a very good goal for using Virtual Machines that you only have a dump terminal to RDP into them with no actually software living on the client hardware itself.

    for whatever it’s worth

  13. Brad, you make a good point about software not “living” on VMs – and a well managed desktop will separate hardware from OS, from apps, from data. Even so, many apps will not virtualise (particularly if they rely on a USB device connection). And if you have to rebuild that many machines, I’d look at your deployment methods too… make it easy for yourself! I’ve never been convinced by Microsoft’s arguments for not supporting USB in Hyper-V – at least they do in their hosted solution (Virtual PC) but that’s handicapped by being 32-bit only…

  14. Not sure if anyone has mentioned it above, but any USB device I plug into the host machine is assigned a secret share (e.g. \\localmachine\e$ for my usb drive. I see no issue here whatsoever.

  15. USB is not just for hard drives. Without USB support, you can’t install many software, including USB printers which depend on virtual USB port.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.