Script to evacuate cluster node on shutdown

tweetmeme_url = ‘’; A little while ago David posted a really handy solution for evacuating a Hyper-V cluster node on shutdown automatically. The issue that he is trying to address is that normally you should not just shutdown a node in a cluster, rather you should manually move all virtual machines off of the cluster… Read more

Installing Ubuntu Server 10.10 on Hyper-V

// Now that the Hyper-V integration services are included in the official Linux builds – I wanted to try out a Linux distribution that is not officially supported by Microsoft and see what was involved in getting it all working.  With the recent release of Ubuntu 10.10 I thought I would try out their server… Read more

How Hyper-V responds to disk failure

tweetmeme_url = ‘’; I have talked to a handful of people over the years who have had to deal with Hyper-V servers that have suffered disk failure.  This can be quite problematic to diagnose and troubleshoot – so I wanted to spend some time digging into what happens and what you should look for. To… Read more

Plants vs. Zombies vs. Hyper-V

tweetmeme_url = ‘’; A number of readers have (rightly) complained that I have not been talking about gaming inside virtual machines lately.  So with that in mind – here is Plants vs. Zombies running on Windows XP on Hyper-V: The game is completely playable – though there is no sound, and it does get a… Read more

Another reason to use dynamic memory…

tweetmeme_url = ‘’; Have you started looking at dynamic memory in Windows Server 2008 R2 SP1? If you have not – why?? I have been using dynamic memory on my home server infrastructure since January at the begining of this year, and have become completely addicted to it.  Recently I decided to setup a Remote… Read more

Creating a “Hyper-V Administrators” local group through PowerShell

tweetmeme_url = ‘’; After writing my script to allow a non-administrative user to control Hyper-V – I started thinking about how it would be nice if I could easily add and remove users from being Hyper-V administrators – without having to run a script each time.  Which lead to this: $myWindowsID=[System.Security.Principal.WindowsIdentity]::GetCurrent() $myWindowsPrincipal=new-object System.Security.Principal.WindowsPrincipal($myWindowsID)   #… Read more

Setting up non-administrative control of Hyper-V through PowerShell

A long time ago I talked about how to configure Hyper-V to allow a non-administrative user to control all of Hyper-V. As a security conscious user I never use an administrative account – unless it is absolutely critical.  But lately I have been getting annoyed by the need to follow the manual process documented above… Read more

A self elevating PowerShell script

Okay, this is not actually a virtualization related post – but is a purely about PowerShell.  None the less – it is something that I use quite often when scripting Hyper-V – so I thought I would post it here. The long and the short of it is that, as a general rule, I always… Read more

Using Hyper-V performance counters to keep an eye on Windows Home Server

tweetmeme_url = ‘’; After my adventures with Windows Home Server, I wanted to make sure that al my data was correctly replicated before trying to make any other configuration changes.  Unfortunately, Windows Home Server does not let you know what it is doing in the background most of the time.  Fortunately, I run Windows Home… Read more

Diagnosing hard disk failure with Hyper-V

tweetmeme_url = ‘’; Last week I had one of the hard disks in my Hyper-V server fail.  Having had to deal with this a couple of times over the last few years, I had little trouble working through the process of fixing my system, but I thought I would write up the details of my… Read more