Controlling a Hyper-V Server with a Remote Client

In our organization, we’re prototyping rolling out a number of Hyper-V servers, possibly even moving to headless development servers. Microsoft does provide a client that allows you to manage them remotely, but its in a very pre-release state right now. It only works with Vista. Here’s some tips and a best practice or two we’ve settled on for getting started. These links all come from the same guy who seems to know what he’s talking about:

The Client requires that the workstation have a user configured with identical credentials to a corresponding server user. Since our plan involves different developers connecting to different servers, we needed to standardize:

  • Each server has an account called “hypervadmin”
  • Each client has an account called “hypervadmin”
  • Their password’s are the same

Unfortunately, at least in this version, the accounts must be administrators on both the client and server boxes.
The problem then becomes what user to work under on the workstation. Each developer needs to be logged into their domain account, and its not acceptable for them to have to log out and re-log in as “hypervadmin” every time they want to tweak something on a server. And of course Vista has removed the “Run As…” context menu item from Windows Explorer, replacing it with the not-nearly-as-useful “Run As Administrator” menu item.
So, here’s the silver bullet:
runas /env /user:hypervadmin "mmc \"%ProgramFiles%\Hyper-V\virtmgmt.msc\""
This little command, run at the command line, from the “Run…” dialog, or via a Shortcut (where you can customize the appearance of the command window) will allow you to “Run As…” a specific MMC snap-in as an arbitrary user in Windows Vista.
I pulled it together in a batch file that made it look a little prettier, put it in a nice Shortcut and dropped it in my Start Menu. Now I can connect to any of our Hyper-V servers without having to switch user’s on my Vista box.

Leave a Reply

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