Hyper-V Server Standalone/Workgroup Server Remote Administration
Befindet sich der Hyper-V Server in einer AD Domain, funktioniert die Remote Administration per Hyper-V Manager Konsole und Windows Remote Management (WinRM) / Web Service for Management (WSMan) relativ einfach und ist per Default aktiviert. Lediglich der WinRM Service muss aktiviert und konfiguriert sein (i.d.R. per GPO).
Anders sieht es aus, wenn der Hyper-V Server als Standalone-System in einer Workgroup ist. Hier müssen einige Schritte unternommen werden, um die Remote Administration zu ermöglichen.
Je nachdem, ob der Remote Client selbst in einer Workgroup ist oder in einer AD Domain, ist die Konfiguration etwas unterschiedlich und kann bei AD Domain Clients natürlich auch per GPO realisiert werden.
Im folgenden Beispiel verwende ich folgende Werte:
- Hyper-V Version: Hyper-V Server 2019
- Hyper-V Hostname: HYPERV
- Primärer DNS-Suffix: lab.local
Server Konfiguration
Auf der Hyper-V Server Seite muss zu Beginn der Konfiguration PowerShell Remoting aktiviert werden, sowie der Remote-Zugriff per WinRM/WSMan mit CredSSP Authentifizierung.
# PowerShell Remoting aktivieren Enable-PSRemoting # Remote-Zugriff für WinRM/WSMan mit CredSSP aktivieren inkl. Firewall-Konfiguration Enable-WSManCredSSP -Role server
Client Konfiguration
Sowohl bei Workgroup Clients als auch bei Domain-joined Clients ist es erforderlich, die Hyper-V Management Tools nachzuinstallieren, da diese nicht standardmäßig bei der Betriebssysteminstallation dabei sind.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Tools-All -All
Workgroup Client
Die Konfiguration von Workgroup Clients kann relativ einfach über die PowerShell durchgeführt werden.
# Hyper-V Server Namensauflösung konfigurieren per HOSTS Datei Add-Content -Path "C:\Windows\System32\drivers\etc\hosts" -Value "`n172.30.32.151`tHYPERV" Add-Content -Path "C:\Windows\System32\drivers\etc\hosts" -Value "`n172.30.32.151`tHYPERV.lab.local" # WinRM/WSMan konfigurieren und aktivieren Set-WSManQuickConfig # Hyper-V Server hinzufügen zu den Trusted Hosts Set-Item "WSMan:\localhost\Client\TrustedHosts" -Value "HYPERV" Set-Item "WSMan:\localhost\Client\TrustedHosts" -Value "HYPERV.lab.local" # Client-PC Credentials Delegation zum Hyper-V Server konfigurieren Enable-WSManCredSSP -Role client -DelegateComputer "HYPERV" Enable-WSManCredSSP -Role client -DelegateComputer "HYPERV.lab.local" # Client-PC Credentials Delegation zum Hyper-V Server für NTLM-only Server konfigurieren New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\" -Name "CredentialsDelegation" New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\" -Name "AllowFreshCredentialsWhenNTLMOnly" New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\" -Name "AllowFreshCredentialsWhenNTLMOnly" -PropertyType DWord -Value "00000001" New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\" -Name "ConcatenateDefaults_AllowFreshNTLMOnly" -PropertyType DWord -Value "00000001" New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowFreshCredentialsWhenNTLMOnly\" -Name "1" -Value "wsman/HYPERV" New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowFreshCredentialsWhenNTLMOnly\" -Name "2" -Value "wsman/HYPERV.lab.local"
Domain-joined Client
Bei Domain-joined Clients sollte die Namensauflösung per DNS funktionieren. Zudem ist WinRM i.d.R. per GPO konfiguriert. Hier funktioniert die Konfiguration per Registry nicht, da die Konfiguration per Policy eine händische Konfiguration unterbindet.
Nachfolgend findet ihr die Konfiguration per GPO für WinRM Zugriffe auf Workgroup Server. Im Gegensatz zum Workgroup Client konfiguriere ich in der Domain eine weiter gefasste Server-Liste per Wildcards.
Computer Configuration -> Administrative Templates -> System -> Credentials Delegation # Client-PC Credentials Delegation konfigurieren -> Allow delegating fresh credentials -> ENABLED -> Add server to the list: -> * -> *.lab.local -> Concatenate OS defaults with input above -> ENABLED # Client-PC Credentials Delegation für NTLM-only Server konfigurieren -> Allow delegating fresh credentials with NTLM-only server authentication -> Add servers to the list: -> wsman/* -> wsman/*.lab.local -> Concatenate OS defaults with input above -> ENABLED -> Windows Components -> Windows Remote Management (WinRM) -> WinRM Client # CredSSP Authentifizierung aktivieren -> Allow CredSSP authentication -> ENABLED # Hyper-V Server hinzufügen zu den Trusted Hosts -> Trusted Hosts -> ENABLED -> *,*.lab.local -> WinRM Service # WinRM/WSMan konfigurieren/aktivieren -> Allow remote server management through WinRM -> ENABLED

Group Policy
Firewall
Befindet sich zwischen dem Management Client und dem Hyper-V Server eine Firewall, müssen folgende Ports freigeschaltet werden:
- WinRM/HTTP: TCP/5985
- WinRM/HTTPS: TCP/5986
- RDP: TCP/3389
- RPC: TCP/135,UDP/135
- PING: ICMP/8
Remote Zugriff
Nach Abschluss der Konfiguration sind die Remote Zugriffe auf den Standalone Hyper-V Server verfügbar.
Hyper-V Manager Konsole
In der Hyper-V Manager Konsole kann der Hyper-V Server nun hinzugefügt werden unter Angabe der lokalen Admin-Credentials des Servers. Wichtig: Bei der ersten Verbindung muss der User, der die Konsole ausführt, lokaler Admin sein, da einmalig Server-Details im System gespeichert werden.

Hyper-V Manager
Alternativ kann auch vor dem Start der Hyper-V Manager Konsole ein permanenter Eintrag im Windows Credential Manager angelegt werden. Dann muss der obige Haken nicht gesetzt werden, da dann automatisch der Credential Eintrag für die Verbindung angewendet wird.
cmdkey /add:HYPERV /user:HYPERV\administrator /pass:<Passwort>
Für den Windows Credential Manager gibt es auch ein PowerShell Modul, welches aber vor der ersten Verwendung erst aktiv nachinstalliert werden muss.
Install-Module -Name CredentialManager -Force -Confirm $false New-StoredCredential -Url "HYPERV" -Username "HYPERV\administrator" -Pass <Passwort> -Comment "HYPERV Administrator Password for CredSSP Authentication"
PowerShell Remote Access
Um per PowerShell Remoting eine Session zum Server aufzubauen, muss der Authentifizierungsparameter für CredSSP verwendet werden.
$Cred = Get-Credential Enter-PSSession -Computername HYPERV -Credential $Cred -Authentication CredSSP
Windows Admin Center
Wer VMware gewohnt ist, weiß ein Webinterface zur Administration zu schätzen. Möglich ist das auch auf einem Hyper-V Server, indem man dort Windows Admin Center im Gateway Modus installiert. Eine Anleitung für Silent Setup von Windows Admin Center im Gateway Modus auf Windows Server Core findet ihr hier.
–