Microsoft Virtual Machine Converter 3.0 Now Available

Yesterday we released the Microsoft Virtual Machine Converter 3.0.  You can download it here: It has a staggering amount of features.  Including the ability to convert physical computers to virtual machines and to convert VMware virtual machines to Hyper-V virtual machines online and offline. Cheers, Ben… Read more

Programmatically Detecting when a VM Changes State

Every now and then I get asked how to detect whenever a virtual machine changes state.  Usually, people who ask about this have written some code that periodically queries Hyper-V to see what state different virtual machines are in (stopped, running, etc.).  What they find is that this is not efficient – and it sometimes… Read more

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

Yesterday, I told you about how it was now easier to allow a non-administrative user to control Hyper-V.  This is nice – but it does mean that this script that I blogged about 4 years ago no longer works.  Here is a new one: $myWindowsID=[System.Security.Principal.WindowsIdentity]::GetCurrent() $myWindowsPrincipal=new-object System.Security.Principal.WindowsPrincipal($myWindowsID)   # Get the security principal for the… Read more

Allowing non-Administrators to control Hyper-V–Updated

A long time ago, I did a post about how to allow non-Administrative users to control Hyper-V.  Then I did a post that showed you how to script this whole configuration.  Finally, I did a post that showed you how to setup a “Hyper-V Administrators” group to make the whole process easier. Well, time has… Read more

Looking for Wasted Space inside Virtual Machines

Recently, I tried to update the operating system installed inside of one of my virtual machines.  I quickly received an error message stating that I did not have enough free space available to perform the upgrade.  My immediate thought was that I would need to expand the size of the virtual hard disk – but… Read more

Exporting a Virtual Machine Checkpoint

Something neat that you can do in Windows Server 2012 / Windows 8 or later is to export a virtual machine checkpoint.  You can do this by either: Selecting the checkpoint in the UI and selecting Export from the action pane Using the Export-VMSnapshot cmdlet When you do this, we will actually create an exported… Read more

Understanding Maximum Dynamic Memory from inside a VM

Dynamic memory is a great feature that allows Hyper-V administrators to get better utilization of their physical memory.  But it can be hard to tell what is going on from inside of a virtual machine.  There are, however, some things that you can do from inside a virtual machine. The first thing you can do… Read more

Importing a VM with VHDs in Different Paths

I was recently given an interesting challenge.  I was asked to show how you could use PowerShell to import a virtual machine; where the virtual hard disks were stored in multiple different locations.  Now, if the virtual hard disks were all in a single location, you could just use the “VHDSourcePath” parameter on Import-VM to… Read more

Hyper-V Networking–Router Guard

Router guard is another advanced networking feature that was added in Windows Server 2012: When you enable Router Guard Hyper-V switch will discard the following packets: ICMPv4 Type 5 (Redirect message) ICMPv4 Type 9 (Router Advertisement) ICMPv6 Type 134 (Router Advertisement) ICMPv6 Type 137 (Redirect message) Much like DHCP guard – the two most common… Read more

Hyper-V Networking–DHCP Guard

If you start digging into the advanced settings section of a virtual network adapter – there is a lot of interesting stuff to look at.  Today I’m going to talk about the DHCP guard setting: This setting stops the virtual machine from making DHCP offers over this network interface.  To be clear – this does… Read more