Hyper-V Enhanced Session Mode (ESM) is a configurable option which enhances the Hyper-V virtual machine console providing options and features similar to an RDP client session. Configuring ESM can be achieved either via the Hyper-V Manager GUI or through PowerShell – obviously if you have many hosts to configure PowerShell is the way to go.
Some additional resources –
GUI Configuration
The Hyper-V Manager GUI gives us a couple of places to open the Hyper-V Settings for a host, either by right clicking on the host or via the Actions menu on the right side of the console.
Under the User settings is a tick box for ESM – this is selected and enabled by default so we can move onto the next setting under Server.
The ESM option under Server is not selected by default, this must be enabled for ESM to work.
PowerShell Configuration
PowerShell is a great option when you want to configure numerous systems, my example below only demonstrates the commands on a single system but this can of course be expanded to run against multiple servers.
First let’s check the existing setting –
PS C:\> Get-VMHost | fl -Property EnableEnhancedSessionMode EnableEnhancedSessionMode : False
Now we will enable ESM –
PS C:\> Set-VMHost -EnableEnhancedSessionMode $True
Virtual Machine Console OptionsNow when we open a virtual machine console the system will prompt for display settings and we can also configure local resource settings in the same way we would with a standard RDP connection.
ESM is a nice feature and it was great to see it added to Server 2012 R2 and Windows 8.1 Hyper-V. Are you using ESM in your environment, or are there features you would like to see added? Let me know in the comments below.