Hyper-V has a number of options available for remote management. System Center Virtual Machine Manager provides a great remote management experience. The in-box Hyper-V manager works remotely, even in workgroup environments. And if all else fails – you can always use Remote Desktop to connect to the Hyper-V server directly and manage things from there. Right? Well… Not quite.
I was recently helping an old friend setup a new deployment of Hyper-V and they were facing some challenges around managing the system. You see, they had paid for a physical server from a large international hoster – and as a result they only had Remote Desktop access to the system (no WMI, no remote PowerShell, no remote Hyper-V management). They were also running Windows Server in a core installation (per our best practices).
This gave them quite a problem. They could easily use Remote Desktop to connect to the Hyper-V server – and from there they could use PowerShell to create and administrate virtual machines – but they had no way to actually interact with the virtual machines or see what was displayed on the screen of the virtual machines.
Fortuitously enough, the good people over at Veeam have just released a virtual appliance that solves this exact problem.
You can read all about it (and how to download it – for free!) here: http://www.veeam.com/blog/rdp-rsat-free-hyper-v-server-2012-r2-remote-desktop-appliance-linux.html
In a nutshell – this virtual appliance is a Linux virtual machine with a modified RDP client in it. The RDP client has been modified to support connecting directly to Hyper-V virtual machines (much like the Hyper-V Management UI does). Once you have deployed this virtual appliance you can connect to it over RDP – and from there you can establish a second RDP session to which ever virtual machine you want to manage. It looks something like this:
Now, the experience is a little clunky (you are running RDP inside RDP after all) but it is very easy to setup – and it works quite well. Further more – when you combine this with the excellent PowerShell support that exists in a core deployment of Windows Server (or even in the free Hyper-V server) this virtual appliance means that you can now do everything you need to do with Hyper-V with nothing more than an RDP connection.
What makes this really nice is that the Veeam team have provided documentation on how to setup this virtual appliance using nothing but Veeam tools and Hyper-V PowerShell. This means that if you are like my friend – and already have a remote server you need to manage – you can get this setup there too.
Now, there is one notable warning that I must call out – which is that there are some security concerns here.
When you connect to a Hyper-V server the virtual appliance will ask you for a username and password, which it will store in plain text inside the virtual machine. Furthermore the virtual appliance comes with a default (and publicly documented) root password. Given this I would make two recommendations:
- Change the root password immediately! To do this you just need to:
- Connect to the virtual machine once with the documented root password
- Right click on the background of the virtual appliance and select xterm
- Type in passwd and enter your new password twice when prompted
- Then type in vncpasswd and enter the same new password twice when prompted (you must run both commands)
With all that said – I think that this is an excellent tool for people who are in this sort of environment.
Two parting thoughts that I would like to wrap up with here are:
- While I have been talking about using this for remote management where WMI is not an option, it is also a great solution for if you are wanting to manage a core installation / free installation of Hyper-V from a non-Windows computer (Mac, Linux, etc…)
- Veeam have released the source code for the virtual appliance, so if you are interested in how to interoperate with Hyper-V WMI / RDP from Linux – this is a great example to look at.