#Script créé par Nicolas Lang - Sous licence CC-BY-SA #https://nicolaslang.fr #On commence par importer le module Veeam pour Powershell. Ce module est disponible sur le serveur ayant Veeam Backup & Restore d'installé Import-Module Veeam.Backup.PowerShell # Nous enregistrons l'ensemble des jobs que nous voulons modifier. Ici, nous filtrons sur les jobs ayant "Premium" dans leur nom $tochangejobs = Get-VBRJob -Name "premium" # Cet index est juste là pour afficher la progression, rien de plus $i = 1 #Pour chaque job dans les jobs sélectionnés foreach ($changeme in $tochangejobs) { #On affiche la progression via Write-Progress Write-Progress -Activity "Modification des jobs" -Status $($changeme).name -PercentComplete $($i / $($tochangejobs.count) \* 100) #Pour les jobs de Synthetic Full, on peut utiliser Set-VBRJobAdvancedBackupOptions, qui permet de modifier certains paramètres que l'on trouve dans les arguments de la commande. #Ici, TransformToSyntethicDays accepte une liste séparée par des virgules d'une énumération de jours. Set-VBRJobAdvancedBackupOptions -Job $changeme -TransformToSyntethicDays Friday,Monday #Par contre, Set-VBRJobAdvancedBackupOptions n'est pas en mesure de changer la durée de rétention. #Pour ça, nous allons directement changer une propriété d'un objet représentant les options du job. try { #Nous enregistrons les options du job sélectionné dans un objet $joboptions = Get-VBRJobOptions -Job $changeme -ErrorAction Stop #Puis nous modifions les propriétés de cet objet à notre guise. Ici, le nombre de points du job. $joboptions.BackupStorageOptions.RetainCycles = 14 #Et enfin, nous appliquons à nouveau l'objet d'options de job à notre job, ce qui aura pour effet de le modifier. Set-VBRJobOptions -Job $changeme -Options $joboptions -ErrorAction Stop } catch { #Un peu de Try / Catch au cas ou un problème arrive Write-Error "Erreur sur $($premium.name)" } #On incrémente notre index pour l'affichage de Write-Progress $i++ }