Hyper-V VM's klonen leicht gemacht…

Erstellt am 25. Oktober 2017

Hier beschreibe ich dir wie du mit kleinen Aufwand in Minuten ein paar VM’s klonst…
Voraussetzung:

  • C:\VMs (Verzeichnis wo die VMs liegen)
  • Hyper-V muss installiert sein
  • Das Script muss als Admin gestartet werden.

Die VM’s werden von einer Source VM mit Differential Disk’s geklont und der vTPM wird aktiviert.

  • 2GB Memory
  • Guest Services

Folgende Voraussetzungen müssen für die Source VM gegeben sein:

  • Gen2
  • Nur eine Disk
/**
$vmcount = Read-Host -Prompt 'How many VMs?'
# Welche VM soll geklont werden
$vms = Get-VM
$menu = @{}
for ($i=1;$i -le $vms.count; $i++)
{ Write-Host "$i. $($vms[$i-1].name),$($vms[$i-1].status)"
$menu.Add($i,($vms[$i-1].name))}
[int]$ans = Read-Host 'Welche VM soll geklont werden?'
$selection = $menu.Item($ans)
$selection
$a = Get-VM -Name $selection.ToString()
$parentpath = ($a.HardDrives).path
$vmname = Read-Host -Prompt 'VmName?'
foreach ($i in 1..$vmcount)
{
    $vmpath = "C:\vms\$vmname-$i"
    New-Item -Path $vmpath -ItemType "Directory"
    $vhdpath = "$vmpath\Hard DisksDisk0.vhdx"
    New-VHD -ParentPath $parentpath -Differencing -Path $vhdpath
    New-VM -VHDPath "$vhdpath" -Name $vmname$i -Path "$vmpath" -SwitchName "External" -Generation 2
    Set-VM -VMName $vmname$i -AutomaticCheckpointsEnabled $false -MemoryStartupBytes 2GB
    $owner = Get-HgsGuardian UntrustedGuardian
    $kp = New-HgsKeyProtector -Owner $owner -AllowUntrustedRoot
    Set-VMMemory -DynamicMemoryEnabled $false -VMName $vmname$i
    Set-VMKeyProtector -VMName $vmname$i -KeyProtector $kp.RawData
    Enable-VMTPM -VMName $vmname$i
    Enable-VMIntegrationService -VMName $vmname$i -Name "Guest Service Interface"
}
 */

Das Script kann gerne benutzt werden wie es ist und es gibt keine Garantie auf Funktionalität.
Getestet auf Windows 10 – 1709, aktuelle PowerShell Version.

Viel Spass beim klonen 😉

Erstellt am 25. Oktober 2017

Vielleicht auch interessant…

This Area is Widget-Ready

You can place here any widget you want!

You can also display any layout saved in Divi Library.

Let’s try with contact form: