54 lines
2.1 KiB
PowerShell
54 lines
2.1 KiB
PowerShell
|
#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++
|
||
|
|
||
|
|
||
|
}
|