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: https://technet.microsoft.com/en-us/windows-server-docs/get-started/manage-nano-server). 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

Project “Lift and Shift”–Phase 1: Triage

This is the first blog post in what is going to be a series that I am tagging “Lift and Shift”. Recently, I had an experience that I know many people have had.  I discovered that my parents were approaching the age where it is no longer possible for them to safely live in their… Read more

Scaling out PowerShell with PowerShell Direct

I have spent a bunch of time this week working on various demos for Ignite in Atlanta.  While building these demos I have been heavily using PowerShell Direct to orchestrate large sets of virtual machines. A common pattern that I encounter is that I will write one piece of code – and then want to… Read more

Hyper-V @ Ignite

I am busily getting ready for my Hyper-V session at Ignite this year – and went to check for other sessions that I could be pointing people to.  Initial results where not hopeful: Umm.  What?  Well – after a short discussion with the team running the Ignite website, it seems that the session search can’t… Read more

Script to Inventory VM Guest OSes – Updated

The other day a colleague asked me how to use PowerShell to gather information about what operating system was running inside of each virtual machine on a Hyper-V server.  I went to point them to this blog post: Scripts to Inventory Virtual Machines [Hyper-V].  But then realized that there were two problems: This script uses… Read more

Fixing Network Adapter settings on Checkpoints

Here is an interesting question from the Hyper-V forums: https://social.technet.microsoft.com/Forums/en-US/a6012994-de98-41f9-8b96-2139ee2ad631/hyperv-resource-pool-nic?forum=winserverhyperv 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

Windows – Read me that virtual machine

After a couple of weeks of playing around with Hyper-V APIs for reading virtual machine screens and sending keystrokes – I hit upon an interesting idea.  What would it take to make a “virtual machine screen reader”? You see, Windows itself has great support for a number of accessibility options.  And these work both in… Read more

Find a bitmap on the VM screen

Continuing with my series on how to do interesting automation stuff with Hyper-V – today I want to show you how to use PowerShell and the AForge.NET library to locate a bitmap on a virtual machine screen. For example – imagine that I had a test running in a Windows Server Core 2016 virtual machine:… Read more