11 octobre 2026

Sauvegarde incrémentielle d’un serveur Hyper‑V avec PowerShell sur Windows Server 2022

Sauvegarde incrémentielle d’un serveur Hyper‑V avec PowerShell sur Windows Server 2022windows
Photo: Roger Antunes / Pexels
🖥️ Illustration
PowerShell – Sauvegarde Hyper‑V
PS C:\Scripts> .\HVBackup.ps1
Starting backup for VM: WebSrv01
Checkpoint created: Backup_20241010_0200
Exporting VM to \\BackupServer\HyperV_Backups\WebSrv01\20241010_0200 …
Export completed successfully.
Removing snapshot Backup_20241010_0200

Starting backup for VM: SQLSrv02
Checkpoint created: Backup_20241010_0200
Exporting VM to \\BackupServer\HyperV_Backups\SQLSrv02\20241010_0200 …
Export completed successfully.
Removing snapshot Backup_20241010_0200

Backup job finished at 02:15.

Contexte 📚

Dans un environnement de virtualisation Hyper‑V, garantir la disponibilité des machines virtuelles (VM) est crucial. La sauvegarde incrémentielle permet de ne sauvegarder que les blocs modifiés depuis la dernière sauvegarde, réduisant le temps d’exécution et l’empreinte disque.

hyperv backup powershellwindows
Photo: panumas nikhomkhai / Pexels

Quand l’utiliser ⏰

  • En production avec plusieurs VM critiques.
  • Lorsque l’on souhaite automatiser les sauvegardes via planificateur de tâches.
  • Si l’on utilise un stockage partagé (SMB 3.0 ou CSV) compatible VSS.

🔹 Étapes de mise en place

  1. Pré‑requis
    # Vérifier le rôle Hyper‑V
    Get-WindowsFeature -Name Hyper-V
    
    # S’assurer que le compte utilisé est membre du groupe "Hyper‑V Administrators"
    net localgroup "Hyper-V Administrators"
  2. Créer un répertoire de sauvegarde
    # Exemple : stockage sur un partage SMB
    $BackupRoot = "\\BackupServer\HyperV_Backups"
    New-Item -Path $BackupRoot -ItemType Directory -Force
  3. Définir la fonction de sauvegarde incrémentielle
    function Invoke-HVIncrementalBackup {
        param(
            [Parameter(Mandatory)] [string]$VmName,
            [Parameter(Mandatory)] [string]$Destination
        )
        # Exporter uniquement les changements (VSS snapshot)
        $vm = Get-VM -Name $VmName
        $snapshot = Checkpoint-VM -VM $vm -SnapshotName "Backup_$(Get-Date -Format yyyyMMdd_HHmm)" -CheckpointType Production
        Export-VM -VM $vm -Path $Destination -Force
        # Supprimer le snapshot après export
        Remove-VMSnapshot -VM $vm -Name $snapshot.Name -Confirm:$false
    }
  4. Lancer la sauvegarde pour chaque VM
    # Liste des VM à sauvegarder
    $Vms = "WebSrv01","SQLSrv02","FileSrv03"
    foreach ($name in $Vms) {
        $dest = Join-Path $BackupRoot "$name\$(Get-Date -Format yyyyMMdd_HHmm)"
        Invoke-HVIncrementalBackup -VmName $name -Destination $dest
    }
  5. Planifier l’exécution quotidienne
    # Créer une tâche planifiée
    $action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-NoProfile -WindowStyle Hidden -File C:\Scripts\HVBackup.ps1"
    $trigger = New-ScheduledTaskTrigger -Daily -At 02:00
    Register-ScheduledTask -TaskName "HV-IncBackup" -Action $action -Trigger $trigger -RunLevel Highest -User "SYSTEM"
  6. Rotation des points de restauration (30 jours)
    # Suppression des sauvegardes >30 jours
    Get-ChildItem -Path $BackupRoot -Recurse -Directory |
        Where-Object {$_.CreationTime -lt (Get-Date).AddDays(-30)} |
        Remove-Item -Recurse -Force

⚠️ Méthode alternative

Utiliser Windows Server Backup avec le module Backup-WindowsImage pour capturer l’ensemble du serveur Hyper‑V, puis extraire les VM depuis le fichier VHDX. Cette approche est plus simple mais consomme davantage d’espace et ne permet pas de granularité VM‑par‑VM.

⚠️ Bonnes pratiques de sécurité

  • Restreindre l’accès au partage de sauvegarde aux comptes du groupe Hyper‑V Administrators et au compte SYSTEM du serveur Hyper‑V.
  • Activer le chiffrement SMB (SMB 3.0) ou chiffrer le volume de destination avec BitLocker.
  • Vérifier régulièrement l’intégrité des sauvegardes via Test-VMBackup (script personnalisé).
  • Documenter la procédure de restauration et réaliser un test de restauration au moins une fois par trimestre.

✅ Conclusion

En suivant ces étapes, vous disposez d’une solution de sauvegarde incrémentielle automatisée, adaptée aux environnements Hyper‑V sous Windows Server 2022. La combinaison de PowerShell et du planificateur de tâches vous assure une exécution fiable, tout en limitant l’impact sur les performances grâce aux snapshots VSS.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *