19.04.2023

Windows Hyper-V Server

Windows Server Edition Übersicht
Windows Server Core
Windows Nano Server
Terminal-Server - Terminal-Sitzung
Windows SharePoint Service
Small Business Server
IIS-Server
Windows VPN-Server
WSUS
DHCP-Server
DNS-Server
Windows Server 2016 über USB-Stick installieren
Windows Server Befehle
Ereignisse Filtern
Backup
Volume Shadow Copy Service (VSS)
Ereignisse beim Server
Druckserver
Key Management Service (KMS)
Arbeitsordner
Workplace Join
Servergespeicherte BenutzerProfile
Server Edition Upgrade/Aktivierung
Storage Spaces Direct
sonstiges / FAQs

Navigation:

Download:
Hyper-V Server 2012 R2
PowerShell Script Backup Hyper-V
System Center Virtual Machine Manager 2008 R2
Windows Virtual PC
Windows XP Mode (für Windows 7)

Links:
System Center Virtual Machine Manager 2008 R2
Probleme bei der Nutzung von Teaming unter Windows Server 2012 R2

 

Seitenanfang

Hyper-V Server 2012 R2 Core

Remoteserver-Verwaltungstools für Windows (RSAT) auf dem Client installieren, der die Verwaltung des Servers übernehmen soll.

- Textkonsole Konfiguration aufrufen, um den Server zu konfigurieren.

C:\Windows\System32\sconfig.cmd

- Firewall Regeln die für die Verwaltung gesetzt werden, kann man auch über sconfig.cmd vornehmen.

netsh advfirewall firewall set rule group="Remotedesktop" new enable=yes
netsh advfirewall firewall set rule group="Windows-Remoteverwaltung" new enable=yes
netsh advfirewall firewall add rule name="ICMPv4 eingehend" dir=in action=allow protocol=icmpv4
netsh advfirewall firewall set rule group="Remotevolumeverwaltung" new enable=yes
netsh advfirewall firewall set rule group="Windows-Verwaltungsinstrumentation (WMI)" new enable=yes
netsh advfirewall set allprofiles settings remotemanagement enable

- installierte Netzwerkkarten anzeigen

netsh interface ipv4 show interfaces

- Zugangsdaten für den Hyper-V-Server auf dem Verwaltungs-Client hinterlegen, wenn dieser nicht in einer Domain ist.

cmdkey /add:<Hyper-V-SRV> /user:Administrator /pass

Parameter
add: - Servername
user: - Benutzername
pass: - Passwortabfrage

list: - zeigt hinterlegte Server und Benutzer an
delete:<HOST> - löscht Eintragung zum angegebenen HOST

Zugriff zum Hyper-V-Server testen, ob die Authentifizierung funktioniert.

net use * \\<Hyper-V-SRV>\c$

auf dem Verwaltungsrechner ausführen, um den zu Hyper-V-Server als vertrauenswürdig zu setzen

winrm set winrm/config/client @{TrustedHosts="*"}

- eine Eingabeaufforderung auf dem Hyper-V-SRV öffnen, der Befehl wird auf dem Verwaltungsrechner eingegeben.

winrs -r:Hyper-V-SRV cmd.exe

Windows RemoteManagement

Befehl Beschreibung
sc query winrm Status des Dienstes anzeigen
winrm enumerate winrm/config/listener anzeigen ob der Dienst Befehle entgegen nimmt
winrm quickconfig Dienst für den Fernzugriff vorbereiten
set PROMPT=[%COMPUTERNAME%] $p$g zeigt Computername im Prompt, am einfachsten unter Systemsteuerung\Alle Systemsteuerungselemente\System Erweitert | Umgebungsvariablen hinterlegen
   

- wenn DNS nicht zur verfügung steht

# c:\windows\system32\drivers\etc\lmhosts
192.168.10.10 Hyper-V-SRV #pre
192.168.10.20 VerwaltungsPC #pre

- Kennworterneuerung (nach 42 Tagen) deaktivieren

net accounts /maxpwage:unlimited

- Informationen zum System anzeigen

systeminfo.exe

Hyper-V Core Server ohne Domain

 

Seitenanfang

Virtuelle Domaincontroller

- Wenn man einen zweiten virtuellen Domaincontroller installieren möchte, sollte man die Zeitsyncronisierung deaktivieren.

Hyper-V Managers | Verwaltung | Integrationsdienste
Zeitsyncronisierung: deaktivieren

Diese Funktion wird in der Domain vom Master PDC übernommen.

- Einstellungen für den virtuellen Domaincontroller (MASTER) anpassen.

Hyper-V Manager | Verwaltung | Automatische Startaktion
Virtuellen Computer immer automatisch starten: wählen

Dann wird der Master DC der Domain automatisch gestartet, wenn der Hyper-V Server gestartet wird. Bei den Mitgliedsservern der Domain sollte die Startverzögerung gesetzt werden, damit der Master DC zur Verfügung steht, wenn die untergeordneten Server hochfahren.

Hyper-V Manager | Verwaltung | Automatische Stoppaktion
Gastbetriebssystem herunterfahren: wählen

- für den Master DC und alle weiteren DCs, Festplatten mit Fester oder Dynamischer Grösse, keine differenzierenden Datenträger wählen.

DC Klonen

Einführung in die Virtualisierung der Active Directory-Domänendienste

- Zähler zum Klonen von Domaincontrollern auf dem Hyper-V-Gast
Gerätemanager | Systemgeräte | Microsoft Hyper-V-Generierungszähler

- PDC Master darf nicht geklont werden

- testet den DC, ob ein klonen möglich ist (Powershell)

Get-ADDCCloningExcludedApplicationList

- Datei C:\Windows\System32\SampleDCCloneConfig.xml kopieren und in DCCloneConfig.xml umbenennen, dann die erforderlichen Einstellungen für den neuen DC setzen.

XML Schema Datei C:\Windows\System32\DCCloneConfigSchema.xsd

<-- DCCloneConfig.xml -->
<ComputerName>dc03</ComputerName>
<Address>192.168.2.3</Address>
<SubnetMask>255.255.255.0</SubnetMask>
<DefaultGateway>192.168.2.254</DefaultGateway>
<DNSResolver>192.168.2.1</DNSResolver>

danach die Datei DCCloneConfig.xml in das Verzeichnis C:\Windows\NTDS einfügen.

- Verfügbarkeit des PDC Masters der Domain prüfen

dcdiag /test:LocatorCheck /v
...
......................... domain.tld hat den Test LocatorCheck bestanden.

- PDC Master prüfen

nltest /server:srv.domain.tld

- dsa.msc starten, zum Domaincontroller, der geklont werden soll wechseln, Eigenschaften | Mitglied von | Klonbare Domänencontroller hinzufügen.

- den Domaincontroller herunterfahren der geklont werden soll, danach im Hyper-V Manager den DC markieren, rechte Maus | Exportieren und neuen Ordner wählen.

- im Hyper-V Manager | Virtuellen Computer importieren, den soeben exportierten Gast wählen, als Importtyp den Virtuellen Computer direkt registrieren oder wenn es der gleiche Hyper-V-Host ist muss man Virtuellen Computer kopieren wählen.

- den geklonten Hyper-V-Gast starten und prüfen, ob der neue DC unter Active Directory-Benutzer und -Computer | Domain Controller und Active Directory-Standorte und -Dienste verfügbar ist. Danach kann man den Vorlagen DC des Klones starten.

 

Seitenanfang

Hyper-V Powershell

Powershell Kommandos für Hyper-V

Befehl Beschreibung
Get-Command -Module Hyper-V alle Powershell Hyper-V Befehle anzeigen
get-vmhost Infos zum VMServer
get-vm Liste der VMGäste anzeigen
get-vm |fl formatierte Liste
start-vm <VMGast-Name> VMGast starten
stop-vm <VMGast-Name> VMGast stoppen (herunterfahren)
restart-vm <VMGast-Name> VMGast neustarten (herunterfahren/starten)
suspend-vm <VMGast-Name> VMGast anhalten (pausieren)
resume-vm <VMGast-Name> VMGast weiterlaufen lassen (pausierten VMGast weiterlaufen lassen)
checkpoint-vm -vmname <VMGast-Name> VMGast Snapshot erstellen (Interaktiv, danach Name des VMGastes oder Liste von VMGästen angeben)
Get-VMSwitch |fl Einstellungen der Virtuellen Switche
Get-VMNetworkAdapter -vmname <VMGast-Name> Infos zum Netzwerkadapther des VMGastes
Get-VMIdeController -vmname <VMGast-Name> Infos zum IDE-Controller des VMGastes
Get-VMHardDiskDrive -vmname <VMGast-Name> Infos zum den Virtuellen Festplatten des VMGastes
Get-VMHardDiskDrive (get-vm) Infos zum allen Virtuellen Festplatten die auf dem VMHost eingerichtet sind
   

 

Seitenanfang

Hyper-V Leistungsüberwachung

Performance Analysis of Logs (PAL) Tool
Microsoft Chart Controls für Microsoft .NET Framework 3.5
Hilfe

 

Seitenanfang

Replikation

 

Seitenanfang

Replikation mit iSCSI Interface im GastVM

Wenn ein iSCSI Device in einer GastVM eingebunden ist, die repliziert werden soll, scheitert das beim Einrichten.

in den Einstellungen der GastVM Integrationsdienste | Sicherung (Volumenschattenkopie): deaktivieren

 

Seitenanfang

Replikation mit Zertifikat

Anleitung Zertifikatserstellung

Mithilfe einer Zertifizierungsstelle

- Datei request.inf erstellen

;----------------- request.inf -----------------
[Version]
Signature="$Windows NT$
[NewRequest]
Subject = "CN=SERVER.DOMAIN.TLD"
Exportable = TRUE		; Private key is exportable
KeyLength = 2048		; Valid key sizes: 1024, 2048, 4096, 8192, 16384
KeySpec = 1				; Key Exchange
KeyUsage = 0xA0			; Digital Signature, Key Encipherment
MachineKeySet = TRUE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = CMC
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 ;Server Authentication
OID=1.3.6.1.5.5.7.3.2 ;Client Authentication
;-----------------------------------------------

- Zertifikatsanfrage erstellen

certreq -new replica.inf replica.req

- Zertifikatsanfrage an Zertifizierungsstelle übermitteln

certreq -submit -config "<DomainZertifizierungsstelle> replica.req replica.cer

Selbstsignierte Zertifikate

Windows Software Development Kit (SDK)
Anleitung makecert.exe

bei der Installation des SDKs braucht man nur Windows Software Development Kit auszuwählen
aus dem SDK Programmverzeichnis C:\Program Files (x86)\Windows Kits\8.1\bin\x64\ die Datei makecert.exe auf allen Hyper-V-Hosts kopieren, auf denen die Replikation eingerichtet werden soll.

auf den Hyper-V Server 1
in einer Eingabeaufforderung/Powershell als Administrator starten

- Zertifikat der ersten Zertifizierungsstelle erstellen

.\makecert -pe -n "CN=PrimaryRootCA" -ss root -sr LocalMachine -sky signature -r "PrimaryRootCA.cer"

Das erstellte Zertifikat ist unter Zertifikate (Lokaler Computer) "Vertrauenswürdige Stammzertifizierungsstellen" zu finden.

- Zertifikat für den Hyper-V Server erstellen

.\makecert -pe -n "CN=<FQDN des Servers>" -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "PrimaryRootCA" -is root -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 PrimaryCert.cer

auf den Hyper-V Server 2
in einer Eingabeaufforderung/Powershell als Administrator starten

- Zertifikat der ersten Zertifizierungsstelle erstellen

.\makecert -pe -n "CN=SecondaryRootCA" -ss root -sr LocalMachine -sky signature -r "SecondaryRootCA.cer"

- Zertifikat für den Hyper-V Server erstellen

.\makecert -pe -n "CN=<FQDN des Servers>" -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2
 -in "SecondaryRootCA" -is root -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider"
 -sy 12 SecondaryCert.cer

auf den Hyper-V Server 1

Zertifikatsdatei SecondaryRootCA.cer der zweiten CA auf den ersten Hyper-V Server kopieren

- Zertifikat in den Zertifikatsspeicher importieren

certutil -addstore -f Root "SecondaryRootCA.cer"

auf den Hyper-V Server 2

Zertifikatsdatei PrimaryRootCA.cer der zweiten CA auf den ersten Hyper-V Server kopieren

- Zertifikat in den Zertifikatsspeicher importieren

certutil -addstore -f Root "PrimaryRootCA.cer"

Import prüfen mit certlm.msc

- Registry auf den Replikationsservern anpassen

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Replication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
Seitenanfang

Prüfpunkte / Snapshots

- Ein Snapshot in eine VM einarbeiten, wenn Snapshots im Hyper-V Manager nicht mehr gelöscht werden können, sondern nur noch exportiert werden.

Get-VMSnapshot -VMName 192.168.20.2-EX00
VMName		  Name                                        SnapshotType CreationTime        ParentSnapshotName
------		  ----                                        ------------ ------------        ------------------
192.168.20.2-EX00 192.168.20.2-EX00 - (18.05.2018 - 00:00:00) Recovery     18.05.2018 19:36:04
Get-VMSnapshot -VMName 192.168.20.2-EX00 | Remove-VMSnapshot

Diese Snapshots bleiben gern mal bei Backup Programmen über, wenn das Backup ein Problem hat und abbricht. Vor dem Zusammenführen der .AVHDX mit der .VHDX die VM herunterfahren und Exportieren zur Sicherung.

 

Seitenanfang

Livemigration

Delegierung zwischen den Hyper-V Servern einrichten, dazu auf dem DC der Domain unter
Active Directory-Benutzer und -Computer | OU Computer der ersten Hyper-V-Host wählen | Eigenschaften | Delegierung
Computer bei Delegierung angegebener Dienste vertrauen: aktivieren
Nur Kerberos verwenden: aktiviern
Diensttyp hinzufügen: Dienste des jeweils anderen Hyper-V-Servers
cifs | Hyper-V-SRV2
Microsoft Virtual Console Service | Hyper-V-SRV2
Microsoft Virtual System Migration Service | Hyper-V-SRV2

das gleiche auf Hyper-V-SRV2 für Hyper-V-SRV1 einrichten.

Hyper-V-Manager | <Server> | Hyper-V-Einstellungen
Livemigration
Ein- und ausgehende Livemigrationen ermöglichen: aktivieren
Eingehende Livemigrationen
Diese IP-Adresse für die Livemigration verwenden:
Erweiterte Features
Kerberos verwenden: aktivieren
Komprimierung: aktivieren

- Livemigration über Powershell aktivieren

Enable-VMMigration
Set-VMHost -VirtualMachineMigrationAuthenticationType Kerberos

- zugeordnete Delegierung zum Computerkonto anzeigen

setspn -l <Domain>\<Hyper-V-ServerName>
Registrierte Dienstprinzipalnamen (SPN) für CN=HV200,OU=Server,OU=Computers,DC=domain,DC=tld
        Microsoft Virtual Console Service/HV200.domain.tld
        Microsoft Virtual Console Service/HV200
        Microsoft Virtual System Migration Service/HV200.domain.tld
        Microsoft Virtual System Migration Service/HV200
        Hyper-V Replica Service/HV200.domain.tld
        Hyper-V Replica Service/HV200

Beim Verschieben der VM ist darauf zu achten, das man das Verzeichnis in dem die VM auf den neuen Server gespeichert werden soll mit angibt. Die Ordner Virtual Hard Disks, Virtual Machines, Snapshots ... werden direkt im angegebenen Ziel-Ordner gespeichert.

Verschieben von VM-Clients von einem Host zum anderen Host in einer Domain

- Fehler bei der Livemigration, da die Hardware auf dem Zielcomputer nicht mit den Hardwareanforderungen dieses virtuellen Computers kompatibel ist
Event-ID 21024
Event-Log unter Anwendungs- und Dienstprotokolle | Microsoft | Windows | Hyper-V VMMS | Admin

Wenn auf dem anderen Host ein Switch Embedded Teaming (SET) eingerichtet ist, kann es helfen, vor dem Verschieben die Netzwerkkarte in der VM deaktivieren. Dazu im
Hyper-V-Manager | Virtual Machine | Einstellungen | Netzwerkkarte
Virtueller Switch auf Nicht verbunden setzen und dann die VM verschieben.

Hyper-V-Manager | Virtual Machine | Einstellungen | Processor | Kompatibilität
Zu einem physischen Computer mit einer anderen Prozessorversion migrieren: aktivieren

Set-VMProcessor TestVM -CompatibilityForMigrationEnabled $true

prüfen ob die Ports TCP 6600 und 3343 (für Clustering) verfügbar sind

netstat -ano | findstr /I /C:"6600"

 

Seitenanfang

NIC Team

LBFO (Load Balancing/Failover) NIC Team auf Hyper-V Switch Embedded Teaming (SET) ändern

LBFO wurde mit dem Server 2012 eingeführt und wird unter Server 2022 nicht mehr für Hyper-V unterstützt.

Get-NetLbfoTeam
Remove-NetLbfoTeam -Name "NIC Team"

oder

Get-NetLbfoTeam | Remove-NetLbfoTeam

# Konfiguration eines SET Switch embedded teams

New-VMSwitch -Name "extern Team" -NetAdapterName "Ethernet","Ethernet 2" `
 -EnableEmbeddedTeaming $true -AllowManagementOS $true

- Get-VMSwitch - zeigt eingerichtete Virtuelle Netzwerk Teams an

Get-VMSwitch

Name        SwitchType NetAdapterInterfaceDescription
----        ---------- ------------------------------
extern Team External   Teamschnittstelle 
Get-NetAdapter
Get-NetAdapterRdma

 

 

Seitenanfang

Integration Services

- Prüfen auf welchem Softwarestand die Hyper-V Integration Services installiert ist. Powershell als Administrator ausführen (Offline Hosts können nicht geprüft werden)

Get-VM | ? State -eq "Running" | ft Name, IntegrationServicesVersion

Installation des Updates, durch einlegen des "Installationsdatenträgers für Integrationsdienste"

Bis Windows Server 2012 R2 gibt es ein ISO "C:\Windows\System32\vmguest.iso" für die Integrationsdienste und ein Verzeichnis "C:\Windows\vmguest" auf dem Hyper-V Server. Bei Windows Server 2016 wird alles über Windows Update installiert, dabei werden alte Systeme die aus dem Support rausgefallen sind nicht mehr berücksichtigt.

Seitenanfang

Hyper-V FailoverCluster

Failoverclustering in Windows Server
Installation und Konfiguration von einem Hyper-V Failover Cluster mit Windows Server 2016

 

Seitenanfang

Hyper-V FailoverCluster einrichten

- für die Verbindung zwischen den beiden Server, ein NIC-Team einrichten
- Hyper-V Manager und Failover Cluster Manager installieren

Install-WindowsFeature -Name Hyper-V, Failover-Clustering -IncludeAllSubFeature -IncludeManagementTools -Restart

- Cluster testen

Test-Cluster -Node Hv01, Hv02

- Netzwerke konfigurieren
Failovercluster-Manager | <ClusterName> | Netzwerke | Einstellung für Livemigration
als erstes das Netzwerk zwischen den Knoten wählen,
als zweites das Management netzwerk als Fallback

Test der Einstellungen, je kleiner die Metric, je höher die Priorität

Get-ClusterNetwork | ft Name, Metric, AutoMetric, Role

 

Seitenanfang

Hyper-V FailoverCluster entfernen

Wenn eine VM aus dem FailoverManager gelöscht wird, wird diese nur aus der Verwaltung des Clusters entfernt, sie bleibt auf dem Hyper-V Manager des Cluster-Node verfügbar. Die Einstellungen sind dann auch wieder im Hyper-V Manager zu erledigen, die Gruppierung wird aus den Einstellungen der VM entfernt. Wenn die VM unter der Cluster Verwaltung steht, sind die Änderungen an den Einstellungen nur im Clustermanager möglich.

Verwaltung des Clusters per Powershell

- Einen Node aus dem Cluster entfernen

Remove-ClusterNode -Name HyperV04
Remove-ClusterNode -Name HyperV04 -Force

- Cluster vom letzten Node entfernen

Import-Module FailoverClusters
Remove-Cluster

- von einem verwaisten Node die Cluster-Einstellungen entfernen

Import-Module FailoverClusters
Clear-ClusterNode
oder
Clear-ClusterNode node4 -Force

Clear-ClusterNode
Remove-Cluster

Danach kann auf dem Server das Feature "Failover Clustering" entfernt werden, der Server wird danach neu gestartet.

 

 

 

Seitenanfang

sonstiges / FAQs

VHD in VHDX konvertieren

im Hyper-V Manager | Datenträger bearbeiten VHD Datei wählen | Konvertieren | VHDX

Powershell von VHD zu VHDX

Convert-VHD -path "disk.vhd" -DestinationPath "disk.vhdx"

von VHDX zu VHD

Convert-VHD -path "disk.vhdx" -DestinationPath "disk.vhd"

Snapshots/Prüfpunkte mit der Powershell erstellen

- verfügbare Hyper-V-Gäste anzeigen

Get-VM <Hyper-V-Host>

im Netzwerk

Get-VM -ComputerName <Hyper-V-Host>

- Snapshots/Prüfpunkte erstellen

checkpoint-vm -vmname <VMGast-Name>

im Netzwerk

checkpoint-vm -ComputerName <Hyper-V-Host> -vmname <VMGast-Name>

Firewall Einstellungen für die Verwaltung

netsh advfirewall firewall set rule group="Windows-Verwaltungsinstrumentation (WMI)" new enable=yes
netsh advfirewall set allprofiles settings remotemanagement enable

Hyper-V unter Win10 Build 1607

nach dem Upgrade von Win10 1511 auf 1607 läst sich auf manchen Rechnern kein Hyper-V Gast mehr starten, der Hyper-V Gast bleibt mit "wird getartet" hängen.

Fehlermeldung Ereignisanzeige
Protokollname: Microsoft-Windows-Hyper-V-VMMS-Admin
Quelle: Microsoft-Windows-Hyper-V-VMMS
Ereignis-ID: 19060
Ebene: Fehler
Schlüsselwörter:
Benutzer: SYSTEM

Beschreibung:
Fehler beim Ausführen des Vorgangs "Wird gestartet" durch "<Hyper-V-Gast". Der virtuelle Computer führt zurzeit folgenden Vorgang aus: "Wird gestartet". (ID des virtuellen Computers: <Hyper-V Gast ID>)

Man kann unter Dienste, den Dienst "Hyper-V-Verwaltung für virtuelle Computer" auf Starttyp "Automatisch (Verzögerter Start)" setzen, dann kann man nach einem Neustart des Hyper-V-Host die VMs ohne Probleme starten.

Nach einiger Laufzeit des Rechners, tritt das Problem wieder auf, dann wie Beschrieben Prozess beenden und Dienst neu starten.