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 😉