[[Windows]] Hypervisor zur [[virtualisierung|Virtualisierung]] von Betriebssystemen. Es ist in Microsoft Server Betriebssystemen und in Windows (ab Professional) enthalten kann aber auch iun der Home Edition installiert werden. Siehe [[scvmm|SCVMM]]
Auf einem Windows Server gibt es eine eigene Hyper-V Rolle. Microsoft möchte außerdem dass man den "[[scvmm|System Center Virtual machine manager]]" bezahl.. ähm ich meine benutzt :P
=====Switches=====
In HYPER-V gibt es 3 Arten von virtuellen [[switch|Switches]]. Mehr dazu [[https://getlabsdone.com/how-to-configure-hyper-v-virtual-switches/|hier]].
====External virtual switch====
**Erlaubt virtuellen Maschinen den Zugriff auf das gesamte Netzwerk**. Der Typ extern muss immer an einen physikalischen Netzwerkadapter (NIC) gebunden werden, wobei **pro NIC nur ein externes Netz möglich** ist.
====Internal virtual switch====
Verbundene Hosts **können sowohl untereinander als auch mit VMs kommunizieren, die bereits mit einem internen virtuellen Switch verbunden sind**. VMs können **nicht auf Netzwerkressourcen zugreifen, die nicht mit dem internen virtuellen Switch verbunden sind**. Darüber hinaus können VMs in einem internen virtuellen Switch-Netzwerk **nicht auf das Internet zugreifen**.
====Private virtual switch====
VMs können miteinander kommunizieren, aber nicht mit Ressourcen außerhalb des privaten virtuellen Switches kommunizieren. In diesem Setup kann das Host-Betriebssystem nicht mit VMs kommunizieren, die in einem privaten virtuellen Switch-Netzwerk vorhanden sind. VMs haben keinen Zugriff auf das Internet.
=====Powershell=====
New-VM -Name "new 2" -MemoryStartupBytes 1GB -NewVHDPath d:\vhd\base.vhdx -NewVHDSizeBytes 40GB
New-VM -Name "new 3" -MemoryStartupBytes 1GB -VHDPath d:\vhd\BaseImage.vhdx
New-VM -Name "new 4" -MemoryStartupBytes 2GB -Credential (Get-Credential) -ComputerName HostServer01
Get-VM []
Start-VM
Stop-VM
Save-VM
Get-VM -Name | Checkpoint-VM -SnapshotName
Get-VMSwitch
Get-VM "VM01" | Get-VMNetworkAdapter | Connect-VMNetworkAdapter -SwitchName "NewSwitch"
Wenn eine Maschine hängt kann man den Service neu starten.
Get-Service vmms | Restart-Service
Neue VM erstellen
$VMName = "VMNAME"
$VM = @{
Name = $VMName
MemoryStartupBytes = 2147483648
Generation = 2
NewVHDPath = "C:\Virtual Machines\$VMName\$VMName.vhdx"
NewVHDSizeBytes = 53687091200
BootDevice = "VHD"
Path = "C:\Virtual Machines\$VMName"
SwitchName = (Get-VMSwitch).Name
}
New-VM @VM
=====USB Passtru=====
Mark disk as offline in disk manager (if option is missing, disk is too small)
in hyper-v machine settings add scsi controller and a physical drive.
=====Windows 10 Home Installer=====
@echo off
echo Checking for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
echo Permission check result: %errorlevel%
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
echo Running created temporary "%temp%\getadmin.vbs"
timeout /T 2
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
echo Batch was successfully started with admin privileges
echo .
cls
GOTO:menu
:menu
Title Hyper-V Installer
echo Backup wird dringend empfohlen!
echo um u.a. Hyper-V spurenlos und sicher zu entfernen.
echo --------------------------------------------------
echo Was soll das Setup tun?
echo 1 Installieren
echo 2 Deinstallieren
echo 3 Beenden
set /p uni= Option in Zahl eintippen:
if %uni% ==1 goto :in
if %uni% ==2 goto :un
if %uni% ==3 goto :ex
:in
cls
Title Install Hyper-V
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL /NoRestart
goto :remenu
:un
cls
Title Uninstall Hyper-V
pushd "%~dp0"
Dism /online /disable-feature /featurename:Microsoft-Hyper-V-All /NoRestart
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /remove-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
goto :remenu
:remenu
cls
echo Möchten Sie den Computer jetzt neu starten?
echo 1 Ja
echo 2 Nein
set /p uni= Option in Zahl eintippen:
if %uni% ==1 goto :re
if %uni% ==2 goto :ex
:re
shutdown /r /t 0 /f
goto :ex
:ex
exit
=====Links=====
* [[https://www.youtube.com/watch?v=cQl_3HmB9gw|Hyper-V - Grundlegendes zu virtuellen Maschinen]]
* [[https://www.youtube.com/watch?v=0yzkWo8Z-FA|Hyper-V Networking - Youtube]]
* [[https://www.youtube.com/watch?v=jdk6xCNmydU|Managing and Configuring Hyper-V Virtual Switches -- Default, Internal, External, and Private]]
* [[https://www.youtube.com/watch?v=CvRwTJCScQY|Hyper-V Cluster auf Windows Server 2016 - Youtube]]
* [[https://youtu.be/nu8dfQFuGzs|Advanced topics]]
* [[https://www.altaro.com/hyper-v/best-practices-hyper-v-performance/|95 best practices]]