HyperV move storage

De BlaxWiki
Révision datée du 2 juillet 2020 à 11:22 par 127.0.0.1 (discussion) (Page créée avec « <pre> Write-Output "Création de la liste des VMs" Write-Output "Sélectionner les VMs à déplacer" $selectedVMs = Get-VM –ComputerName (Get-ClusterNode) | Select VMNam... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche
Write-Output "Création de la liste des VMs"
Write-Output "Sélectionner les VMs à déplacer"
$selectedVMs = Get-VM –ComputerName (Get-ClusterNode) | Select VMName,ComputerName | Out-GridView -Title "Sélectionner les VMs à déplacer" -OutputMode Multiple

Write-Output "Choisir le CSV destination"
$destCSV=$(ls C:\ClusterStorage | Select FullName | Out-GridView -OutputMode Single -Title "Choisir le CSV destination").Fullname

foreach ($sel in $selectedVMs) {
    $VM=Get-VM -Name $sel.VMName -ComputerName $sel.ComputerName
    Write-Output ("------- {0} -------" -f $VM.VMName)

    $vmpath=$VM.ConfigurationLocation
    Do { $vmpath=$vmpath | Split-Path -Parent } Until ($vmpath -imatch "^C:\\ClusterStorage\\Volume\d+$")
    Write-Output "Chemin d'origine : $vmpath"

    $dstPath="$destCSV\$($VM.VMName)"

    Write-Output "Déplacement de la VM"
    Move-VMStorage -VM $VM -DestinationStoragePath "$dstPath" 

    Rename-Item -Path "$vmpath\$($VM.VMName)" -NewName "OLD_$($VM.VMName)"
}