<p>Je ne suis pas vraiment sûr que cela fasse ce dont vous avez besoin, mais voici un exemple de fragment PowerShell que j’ai utilisé par le passé pour migrer des VM incluant tout le stockage vers une nouvelle destination :</p>
<pre><code class="lang-auto">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
}
</code></pre>
<p>Déplacer le stockage d’une VM vers un nouveau chemin :</p>
<pre><code class="lang-auto">('ansible-test-web', 'ansible-test-db') |
ForEach-Object {
Move-VMStorage $_ `
-DestinationStoragePath "E:\Hyper-V\$_"
}
</code></pre>
<p>Si vous avez copié une VM et tous ses fichiers vers un nouvel emplacement et que vous voulez que Hyper-V commence à utiliser le nouvel emplacement, vous devriez pouvoir faire quelque chose comme :</p>
<pre><code class="lang-auto">Remove-VM oldvmname
Import-VM -Register -Path 'path to VM config file'
</code></pre>