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 😉