SMB Bandwidth Limits and Shared Nothing Live Migration

This week I have been discussing the network QoS options available for a Windows Server private cloud.  On Wednesday I talked about the SMB bandwidth limit capability – that allows you to specify separate bandwidth limits for virtual machine storage and live migration traffic over SMB.  One interesting thing to understand is how this effects… Read more

Converged Network QoS and Live Migration over SMB

On Monday I gave you a pointer to a great resource on configuring network QoS in converged networking configurations.  One thing that this documentation does not cover is how to configure QoS for Live Migration over SMB. If you are using Live Migration over SMB, and storing virtual machine hard drives on SMB shares, then… Read more

Getting QoS Right with Hyper-V and Converged Networking

Back in the “olden days” of Windows Server 2008 R2, getting networking right for a Hyper-V private cloud was simple.  Annoying – yes.  But simple.  Basically – you just had to have a separate network adapter (or two) for every class of traffic possible. Thankfully with Windows Server 2012 (and 2012 R2) there are a… Read more

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

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