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

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

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.