I dischi sono in V:\Dischi-Hyper-V
la configurazione è in I dischi sono in V:\Config-Hyper-V
Il virtual switch si chiama vSwitch10G
1) Cerco l'ID della VM di origine con
Code: Select all
get-vm -name "WINSERVER"|select-object id
(non serve la directory vuota con che si chiama come l'id della VM, solo i 3 files)
3) copio tutti i dischi virtuali nella posizione di destinazione
4) eseguo il comando preliminare di import che darà errore perchè la posizione dei dischi e il nome del virtual switch è sbatliago:
ad esempio:
Code: Select all
Import-VM -Path "V:\Config-Hyper-V\Virtual Machines\d523d62c-7cab-4564-9a9f-f35e114c64a9.vmcx" -Register
# 1. Genera il report di incompatibilità
Code: Select all
$report = Compare-VM `
-Path "V:\Config-Hyper-V\Virtual Machines\93E44F37-53D5-46EF-9D35-CED4F1483C9B.vmcx"
Code: Select all
$report.Incompatibilities `
| Where-Object MessageId -EQ 33012 `
| ForEach-Object {
$_.Source `
| Connect-VMNetworkAdapter -SwitchName "vSwitch10G"
}
Code: Select all
$hdErrors = $report.Incompatibilities | Where-Object MessageId -EQ 40010
foreach($err in $hdErrors) {
$hdd = $err.Source
$newPath = "V:\Dischi-Hyper-V\" + [IO.Path]::GetFileName($hdd.Path)
$hdd | Set-VMHardDiskDrive -Path $newPath
}
Code: Select all
Compare-VM -CompatibilityReport $report | Select-Object -Expand Incompatibilities
Code: Select all
Import-VM -CompatibilityReport $report
6) Se è una Vm Windows controllare lo status della attivazione (ovviamente a macchina avviata)
Code: Select all
cscript //nologo %windir%\system32\slmgr.vbs /xpr
oppure
Code: Select all
cscript //nologo %windir%\system32\slmgr.vbs /dlv
se si vuole:
Code: Select all
cscript //nologo %windir%\system32\slmgr.vbs /dli