Getting VM Memory Usage and Demand Programmatically

A couple of people have recently asked me how to get virtual machine memory usage and memory demand programmatically.  What I am referring to is the information that we display here in Hyper-V Manager: I have blogged about this in the past – but things have changed a bit since then – so I thought… Read more

New Hypervisor Top-Level Functional Specification

At the end of last week we published version 5.0 of the Hypervisor Top Level Functional Specification.  This version details the state of the hypervisor in Windows Server 2016.  You can download it from here: Be warned – this is a very complicated technical document.  However, it has also become the first place that… Read more

Hyper-V vs. KVM for OpenStack performance

During the development of Windows Server 2016 we spent a lot of time working on delivering the best core performance as a cloud platform.  At the same time the Cloudbase team have spent a lot of time optimizing the performance of the Hyper-V OpenStack drivers as part of their work on the Mitaka release of… Read more

Bulk changing virtual hard disk path

I received this in email today: “I have XCOPY’d a bunch of VHDX files from one volume to another on WS2016.    What’s the easiest / fastest way to fix up the paths for the VM’s???” The answer to this is quite simple.  Open PowerShell and run: $oldPath = “C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks” $newPath = “D:” get-vm… Read more

Creating a remote PowerShell Direct shortcut

So here is the scenario: I have a remote Hyper-V server running Nano Server. I have PowerShell remoting setup to manage this system (details on how to do this here: I then have a number of Nano Server virtual machines running on the this system. What I want is to be able to easily… Read more

Delay when opening VM Connect on disconnected systems

When I am building Hyper-V systems for big public demonstrations – I often build them with zero Internet connectivity.  The reason why I do this is because I never know what level of internet connection I am going to have as I travel around the world showing off cool new features. For a while now… Read more

Fixing Network Adapter settings on Checkpoints

Here is an interesting question from the Hyper-V forums: In essence – the situation is that the user has: Created a virtual machine Connected it to a virtual switch Taken a checkpoint Deleted and recreated the virtual switch Now, whenever they apply the old checkpoint – they get a configuration error message.  They can… Read more

Hyper-V UI updates for High DPI

In the latest Windows Insider builds (14371 and later) we have made some strategic changes to address Hyper-V’s usability on High DPI systems.  But before I get into the details of the changes – one quick thing to talk about: Hyper-V UI is comprised of two main executables.  Our MMC snap-in (that runs under mmc.exe)… Read more

Network Device Naming in Hyper-V

In Windows 10 and Windows Server 2016 we have introduced a set of new capabilities around managing virtual network adapters.  One of the really handy ones is network device naming.  This allows you to easily differentiate between different network adapters on a single virtual machine – and to correlate them to network adapters inside the… Read more