I have grown to be a fan of Hyper-V over the years. It has broad hardware support, costs nothing extra, and can easily be enabled on Windows Server. This makes it a prime candidate for anyone with a home lab. My setup is built on Windows Server 2016 and I use Hyper-V to host a number of virtual servers and workstations for testing. But like most home labs, and the rest of the PCs in my house, they are not joined to a domain which can make remotely managing Hyper-V difficult. To work around the problem I would typically RDP to the server to use the Hyper-V Manager on the server. But this is not the best solution.
I tried to use the Hyper-V Manager client on my Windows 10 PC to connect to my Hyper-V host unsuccessfully for months. It seemed no matter what I tried, I ran into various issues trying to get my Windows 10 PC to authenticate to the Hyper-V host. It wasn't until I stumbled across this TechNet article that inspired me to give local Hyper-V manager client a second chance. With a few minor tweaks, I was finally able get it working. If you are in the same boat as me, below I detailed each step I took so that you too can remotely manage a Windows Server 2016 Hyper-V server from Windows 10.
Hyper-V Server Configuration
First, we need to configure the Hyper-V host to accept remote connections:
- Log into your Windows server with an administrative level account.
- Click on the Start button, type in Windows PowerShell and hit Enter.
- At a PowerShell prompt, run the following commands:
Enable-WSManCredSSP -Role serverMake sure to hit Y to confirm you want to enable CredSSP.
Windows 10 Client Configuration
Next, let's setup the client side:
- Click on the Start Button and type in Turn windows features on or off and hit Enter.
- Navigate through the list of features and check the Hyper-V GUI Management Tools and then click OK.
- Make sure your network connection location is set to private. If it is not set to private, the commands in step 5 will fail. Take a look at this quick tip to change your network location to private.
- Next, right click on the Start Button and select Windows PowerShell (Admin).
- Type in the following PowerShell commands. My Windows server is called homeserver (named after one of Microsoft best products), make sure to replace "homeserver" in the commands below with the hostname of your Hyper-V host. Hit Y to continue when prompted by the commands to modify the TrustedHosts list and enable CredSSP authentication.
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "homeserver"
Enable-WSManCredSSP -Role client -DelegateComputer "homeserver"
- Now we need to change the credential delegation settings on your PC to allow for the non-domain NTLM authentication. Click on the Start Button, type in gpedit.msc and hit Enter to open the Local Group Policy Editor.
- Navigate through Computer Configuration, Administrative Templates, System, Credential Delegation, and right click on "Allow delegating fresh credentials with NTLM-only server authentication" and select Edit.
- Select Enabled, then click the Show button.
- Type in Wsman/homeserver (remember to replace "homeserver" with the name of your hyper-v host)
- Click OK to close the list window and OK again to close the policy window.
Ready to Connect
You are now ready to launch the Hyper-V Manager on your local PC. There are a few extra steps that are necessary to connect in the non-domain joined scenario.
- Click on the Start Button and type in Hyper-V Manager and hit Enter.
- When the Hyper-V Manager loads, click the Connect to a Server item under Actions.
- Select Another computer and type in the name of your server.
- Check the "Connect as another user" box and then click Set User.
- Type in the username in hostename\user format. For example, "homeserver\administrator"
- Click OK on the Windows Security screen after entering an administrative user and password that exists on your Hyper-V server.
- And then click OK on the Select Computer window to connect to your host. Within a few seconds, you should see a list of your Hyper-V virtual servers and workstations.