How to Remotely Manage Hyper-V Server 2016 Standalone from Windows 10 Client Using PowerShell and WMI


9 views

To establish remote management of a standalone Hyper-V Server 2016 from a Windows 10 client, several prerequisite configurations must be implemented on both systems.

# Enable remote management via sconfig
sconfig.cmd → Option 4 → Enable all remote management options

# PowerShell configurations
Enable-PSRemoting -Force
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP" -RemoteAddress Any
Enable-WSManCredSSP -Role Server

# Verify critical services are running
Get-Service vmms,winrm | Set-Service -StartupType Automatic
Start-Service vmms,winrm

# Add firewall rules for Hyper-V communication
netsh advfirewall firewall add rule name="Hyper-V Remote Management" dir=in action=allow protocol=TCP localport=2179,80,443,5985,5986

The Windows 10 client requires these PowerShell commands:

# Configure trusted hosts
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "server.local" -Force

# Enable CredSSP authentication
Enable-WSManCredSSP -Role Client -DelegateComputer "server.local" -Force

# Optional: Add server to hosts file if DNS resolution isn't working
Add-Content -Path "$env:windir\System32\drivers\etc\hosts" -Value "n192.168.10.2 server.local"

Method 1: Using Hyper-V Manager

After completing the above configurations:

  1. Open Hyper-V Manager
  2. Right-click "Hyper-V Manager" in the left pane
  3. Select "Connect to Server"
  4. Enter either "server.local" or the IP address
  5. When prompted, provide administrator credentials

Method 2: PowerShell Direct Connection

# Establish remote session
$session = New-CimSession -ComputerName server.local -Credential (Get-Credential)

# Get Hyper-V virtual machines
Get-VM -CimSession $session

# Create new VM
New-VM -Name "TestVM" -MemoryStartupBytes 1GB -CimSession $session

Error: "Object not found" (VMMS related)

Solution:

# On the Hyper-V server:
Restart-Service vmms -Force
Test-WSMan -ComputerName server.local

Authentication Issues

If receiving authentication errors, try these additional steps:

# On the client:
cmdkey /add:server.local /user:Administrator /pass:YourPassword

# Update DCOM permissions:
dcomcnfg → Component Services → Computers → My Computer → 
COM Security → Access Permissions → Edit Limits → 
Add "ANONYMOUS LOGON" with Allow Remote Access

For non-domain environments, these registry modifications may be necessary:

# On both client and server:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

# Additional firewall rules:
netsh advfirewall firewall add rule name="Hyper-V Replica HTTPS" dir=in action=allow protocol=TCP localport=443
netsh advfirewall firewall add rule name="Hyper-V Migration" dir=in action=allow protocol=TCP localport=6600

Test your remote management capabilities with these commands:

# Test basic connectivity:
Test-NetConnection server.local -Port 5985

# Test WMI connectivity:
Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName server.local

# Test Hyper-V management:
Invoke-Command -ComputerName server.local -ScriptBlock { Get-VM }

Before attempting remote management, ensure your environment meets these requirements:

  • Hyper-V Server 2016 with latest updates installed
  • Windows 10 Pro/Enterprise (Home edition won't work)
  • Network connectivity between machines (ping test should succeed)
  • Administrative credentials on both systems

First, configure your Hyper-V 2016 server with these PowerShell commands:

# Enable remote management via sconfig
sconfig
# Select option 4 (Remote Management) then 1 (Enable)

# Configure PowerShell remoting
Enable-PSRemoting -Force
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP" -RemoteAddress Any

# Enable required services
Start-Service vmms
Set-Service vmms -StartupType Automatic

# Configure CredSSP authentication
Enable-WSManCredSSP -Role Server

# Add firewall exceptions
netsh advfirewall firewall add rule name="Hyper-V Remote Management" dir=in action=allow protocol=TCP localport=2179,80,443,5985,5986

On your Windows 10 machine, run these commands in an elevated PowerShell session:

# Add Hyper-V server to trusted hosts
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "server.local" -Force

# Enable CredSSP client role
Enable-WSManCredSSP -Role Client -DelegateComputer "server.local"

# Configure credentials delegation
cmdkey /add:server.local /user:Administrator /pass:*

# Install Hyper-V management tools (if not present)
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-Clients

The "object not found" error typically indicates authentication failure. Try these troubleshooting steps:

# Test basic connectivity
Test-NetConnection server.local -Port 5985

# Verify WSMan connectivity
Test-WSMan -ComputerName server.local

# Check Hyper-V service status remotely
Get-Service -ComputerName server.local -Name vmms

# Alternative connection method using explicit credentials
$cred = Get-Credential
Enter-PSSession -ComputerName server.local -Credential $cred -Authentication CredSSP

If standard methods fail, consider these approaches:

Method 1: Using Hyper-V Manager

  1. Right-click Hyper-V Manager
  2. Select "Connect to Server"
  3. Enter "server.local"
  4. Check "Connect as another user" and provide administrator credentials

Method 2: PowerShell Direct

# Create new session
$session = New-PSSession -ComputerName server.local -Credential (Get-Credential)

# Import Hyper-V module
Invoke-Command -Session $session -ScriptBlock {Import-Module Hyper-V}

# Get virtual machines
Invoke-Command -Session $session -ScriptBlock {Get-VM}

For workgroup environments (non-domain), additional configuration is needed:

# On both client and server:
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "LocalAccountTokenFilterPolicy" -Value 1 -Type DWord

# Configure DCOM permissions (run dcomcnfg):
1. Navigate to Component Services > Computers > My Computer
2. Open COM Security tab
3. In Access Permissions, edit Limits and add Anonymous Login
4. Set Remote Access permissions

Confirm your setup works with these validation steps:

# Test basic Hyper-V cmdlets
Get-VM -ComputerName server.local

# Create test VM (if validation succeeds)
New-VM -ComputerName server.local -Name "TestVM" -MemoryStartupBytes 1GB -NewVHDPath "C:\VMs\TestVM.vhdx" -NewVHDSizeBytes 20GB

For optimal remote management experience:

  • Ensure network latency < 50ms for responsive UI
  • Use wired Ethernet connection instead of WiFi
  • Configure Jumbo frames if managing large VMs
  • Consider using RDP to server for intensive operations