Hyper-V Server ist eine (man staune) kostenlose Software von Microsoft zur Virtualisierung von mehreren Gastbetriebssystemen und kann von jedem heruntergeladen und genutzt werden.
Allerdings dürfen Windows Installationen darauf nur genutzt werden, wenn die
virtuellen Maschinen für Hyper-V lizenziert wurden.
Für Linux und andere freie Systeme
(z.B. ReactOS ) bietet die Software
aber eine interessante Umgebung.
Der Server agiert ähnlich wie eine Server-Core Installation, bei der nur die Hyper-V Rolle vorhanden ist. Die Administration erfolgt daher entweder über die Kommandozeile (bevorzugt mit Powershell ) oder per Fernwartung über das Netzwerk mit den üblichen Windows Remote Server Administration Tools.
Wer über ein MSDN Abo verfügt, findet die ISO Images aller Hyper-V Server (ab v2008) im Download Bereich.
Ansonsten lassen sich die Images als unbegrenzten Evaluierungssoftware nach einer Registrierung herunterladen:
Der Hyper-V Server 2008 R2 ist sogar als ganz normaler Download aufrufbar.
Das ISO Image kann dann auf einen Installations-DVD gebrannt oder z.B. über das Tool Rufus auf einen USB Stick kopiert werden.
Die Installation unterscheidet sich nicht von einem regulären Windows Server
Core Setup und endet bei der Login-Maske, wo man sich als Administrator
ohne Passwort anmelden kann und dort sofort zur Eingabe eines eigenen
Passworts aufgefordert wird.
Ab Server 2008 R2 liefert Microsoft das Konsolenscript sconfig
mit aus,
welches die wichtigsten Einstellungen über ein simples Text-Menü zur
Verfügung stellt.
Da dieses Tool im originalen Server 2008 fehlt und zwecks Dokumentation, werden nachfolgend die reinen Kommandozeilenaufrufe beschrieben, die unter allen Server-Varianten funktionieren:
pnputil.exe -i -a u:\net-driver\DRIVERNAME.INF
netsh interface ipv4 show addresses
zeigt die verfübaren Netzwerk-Namen an, die nachfolgend benötigt werden.
netsh interface ipv4 set address "Local Area Connection" static 192.168.0.8 255.255.255.0 192.168.0.1
setzt für das Netzwerk “Local Area Connection” die
IP “192.168.0.8”
mit Maske “255.255.255.0”
und dem Router “192.168.0.1”
netsh interface ipv4 set dnsserver "Local Area Connection" static 192.168.0.1
setzt die DNS-Server IP auf “192.168.0.1”
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
deaktiviert das Ablehnen von RDP Anfragen in der Registry.
Diese Einstellung wird erst nach einem Neustart wirksam.
netsh advfirewall firewall set rule group="remote desktop" new enable=yes
aktiviert die Erlaubnis für Remote Desktop an der Firewall.
hostname
zeigt den aktuellen (am Anfang zufällig generierten) Computernamen an,
z.B.: WIN-SD8WSKZPBJE
netdom renamecomputer WIN-SD8WSKZPBJE /newname SVR-WIN2K8
ändert den alten Namen in SVR-WIN2K8
. Die Änderung wird aber erst nach
einem Neustart wirksam.
shutdown /r /t 0
startet das System neu.
netdom join SVR-WIN2K8 /domain:ad-domain.com /userd:Administrator /passwordd:*
registriert das System namens “SVR-WIN2K8” im Active Directory.
Diese Änderung wird erst mit dem nächsten Neustart aktiv.
shutdown /r /t 0
startet das System neu.
net stop wuauserv
deaktiviert den Windows Update Dienst um seine Einstellungen zu ändern.
cscript %systemroot%\system32\scregedit.wsf /AU 4
schaltet Updates auf “Automatischer Download + Automatische Installation”
net start wuauserv
startet den Windows Update Dienst neu.
wuauclt /detectnow
initiiert das Suchen von Updates.
Dieser Vorgang kann mehrere Stunden dauern.
Mit dieser Variante gibt es keine Möglichkeit den
aktuellen Fortschritt mitzuverfolgen.
wusa UPDATE_FILE.msu /quiet
UPDATE_FILE.msu
Die einfachste Form der Administration erfolgt über die
“Remote Server Administration Tools”
kurz RSAT.
Deren Installation ist “etwas seltsam”. Man installiert ein spezielles
Windows-Update und findet dann RSAT bei den Windows-Features
(unter Systemsteuerung
, Programme und Features
,
Windows Features aktivieren oder deaktivieren
) und kann sie dort
“aktivieren” um sie tatsächlich im System zu installieren.
Darunter befinden sich dann auch die “Hyper-V Tools”, von wo aus man neue VMs erstellen, bestehende verwalten und laufende Sitzungen fernsteuern kann.
Ab Hyper-V Server 2012 wird die Administration per Powershell vollständig im Server angeboten. Man kann sich also per RDP zum Hyper-V Server verbinden und die folgenden Kommandos nutzen:
powershell
Startet den Powershell Interpreter
Get-NetAdapter
Listet alle Netzwerkschnittstellen auf um den Namen für das nachfolgende
Kommando in Erfahrung zu bringen
New-VMSwitch -name ExternalSwitch -NetAdapterName "Local Area Connection" -AllowManagementOS $true
Erzeugt einen neuen virtuellen Netzwerk-Switch, der an einen realen Adapter
gebunden wird
New-VMSwitch -name InternalSwitch -SwitchType Internal
Erzeugt einen virtuellen Netzwerk-Switch, der nur Daten zwischen VMs und
dem Host austauschen kann.
New-VMSwitch -name PrivateSwitch -SwitchType Private
Erzeugt einen virtuellen privaten Netzwerk-Switch, in dem nur die VMs
untereinander kommunizieren können, aber nicht mit dem Host oder der
Außenwelt.
New-VM -Name vm01 -path C:\vmguests -MemoryStartupBytes 512MB
Erzeugt eine neue VM mit Namen vm01
im Elternverzeichnis c:\vmguest
mit
512 MB RAM als Standard.
Set-VMProcessor -VMName vm01 -Count 2 -CompatibilityForOlderOperatingSystemsEnabled $true
Setzt die Anzahl der virtuellen Prozessoren auf 2 und aktiviert den Support
für ältere Systeme wie Windows 2000 oder NT 4.
Set-VMMemory -VMName vm01 -StartupBytes 512MB
Setzt die RAM Größe fix auf 512 MB.
Set-VMMemory -VMName vm01 -DynamicMemoryEnabled $true -MinimumBytes 64MB -StartupBytes 256MB -MaximumBytes 2GB
Aktiviert dynamischen RAM zwischen 64 MB und 2 GB mit der Startgröße von 256 MB.
New-VHD -Path c:\vmguests\vm01\vm01.vhdx -SizeBytes 32GB -Dynamic
Erstellt eine virtuelle dynamisch-mitwachsende Festplattendatei mit 32GB.
Add-VMHardDiskDrive -VMName vm01 -Path C:\vmguests\vm01\vm01.vhdx
Bindet eine erstellte Festplattendatei an eine VM.
Set-VMDvdDrive -VMName vm01 -ControllerNumber 1 -Path c:\isoimages\install.iso
Stellt ein ISO-Image im virtuellen DVD-Laufwerk bereit.
Add-VMNetworkAdapter -VMName vm01 -IsLegacy $true -SwitchName ExternalSwitch
Fügt einen Netzwerkadapter hinzu, der an den Switch namens “ExternalSwitch”
(siehe New-VMSwitch
) gebunden ist. -IsLegacy $true
aktiviert den
Support für ältere Gastsysteme und das Booten über Netzwerk.
Start-VM -Name vm01
Startet die VM mit Namen vm01
Stop-VM -Name vm01 -Force
Stoppt die VM mit Namen vm01
. Ist -Force
vorhanden wird die Maschine
sofort beendet, andernfalls wird nur einen Shutdown-Signal an das Gast-OS
gesendet.
Hat man keine Möglichkeit die RSAT Tools zu benutzen oder will man die VMs nur im Hyper-V Server selbst verwalten, fehlt uns die Möglichkeit sich “grafisch” zur VM zu verbinden und Keyboard-Eingaben wie auch Mausklicks dort abzusetzen.
Hier hilft das kostenfrei Tool FreeRDP. Es kann sich nicht nur zu RDP-aktivierten Windows Rechnern verbinden, sondern auch auf einem Hyper-V System eine spezifische VM übertragen.
Für FreeRDP benötigen wir die interne GUID der VM auf einem Server, welche per Powershell auf dem Server mit
Get-VM "VM-Name" | Select-Object Id
abgefragt werden kann.
Das Kommando
wfreerdp.exe /vmconnect:VM-GUID /cert-ignore /v:HYPERV-SERVER
versucht dann die laufende VM mit der übergebenen GUID zu verbinden und fordert zur Eingabe von Benutzernamen und Passwort für die Sitzung auf. Hierfür sollte der “Administrator” Account des Hyper-V Servers genutzt werden (oder ein anderer Account mit gleichwertigen Administrationsrechten).
Für das Senden von Strg
+ Alt
+ Entf
muss das Fenster aktiviert sein
und man kann eben diese Tastenkombination drücken. Das aktiviert den
Sicherheitsbildschirm das realen Betriebssystems, den man mit
Escape
verlassen kann. Das FreeRDP-Fenster hat die Kombination aber
auch empfangen und an die VM weitergeleitet.
Unter Linux sollte mit dem Tool xfreerdp
die gleiche Funktion durch die
Tasten Strg
+ Alt
+ Ende
(statt Entf
) verfügbar sein.
opengate.at
.