Não tenho certeza se isso é o que você precisa, mas há um fragmento de PowerShell de exemplo que usei no passado para migrar VMs, incluindo todo o armazenamento para um novo destino
Get-VM -Name ('ansible-test-acs',
'ansible-test-web',
'ansible-test-db') |
ForEach-Object {
# move everything to d:\hyper-v\vm_name on hv-srv-01
$MoveOptions = @{
'Name' = $_.Name
'DestinationHost' = 'hv-srv-01'
'IncludeStorage' = $true
'DestinationStoragePath' = 'D:\Hyper-V\{0}' -f $_.Name
}
$MoveOptions
Move-VM @MoveOptions -WhatIf
# Move-VM @MoveOptions
}
Mova o armazenamento da VM para um novo caminho
('ansible-test-web', 'ansible-test-db') |
ForEach-Object {
Move-VMStorage $_ '
–DestinationStoragePath "E:\Hyper-V\$_"
}
Se você copiou uma VM e todos os seus arquivos para um novo local e deseja que o Hyper-V comece a usar o novo local, você deverá ser capaz de fazer algo assim.
Remove-VM oldvmname
Import-VM -Register -Path 'path to VM config file'