Création script
This commit is contained in:
parent
781541c8ea
commit
368911a19d
|
@ -0,0 +1,72 @@
|
|||
#Script créé par Nicolas Lang - Sous licence CC-BY-SA
|
||||
#https://nicolaslang.fr
|
||||
|
||||
|
||||
Function Get-VMBackupsizes
|
||||
{
|
||||
#ajout du Snappin veeam
|
||||
try {
|
||||
Add-PSSnapin VeeamPSSnapin -ErrorAction Stop
|
||||
}
|
||||
catch {
|
||||
exit 10
|
||||
}
|
||||
#récupération des backups
|
||||
$backups = Get-VBRBackup
|
||||
#récupération des jobs
|
||||
$jobs = Get-VBRJob
|
||||
#création d'un tableau
|
||||
$array = New-Object System.collections.arraylist
|
||||
#pour chaque backup dans la liste des backups
|
||||
foreach ($backup in $backups)
|
||||
{
|
||||
#si le job avec le même ID possède une planification...
|
||||
if ($($jobs | Where-Object {$_.id -eq $backup.JobId}).isScheduleEnabled -eq $true)
|
||||
{
|
||||
#définition d'une variable à "oui"
|
||||
$isScheduled = "Oui"
|
||||
}
|
||||
else
|
||||
{
|
||||
#sinon à $false
|
||||
$isScheduled = "Non"
|
||||
}
|
||||
#Recherche du job dont l'id est le même que l'id de job dans le backup en cours
|
||||
$thisjob = $jobs | Where-Object {$_.id -eq $backup.info.jobid}
|
||||
if ($thisjob -ne $null)
|
||||
{
|
||||
#Recherche des objets dans le job en question
|
||||
$jobobject = Get-VBRJobObject $thisjob
|
||||
}
|
||||
else
|
||||
{
|
||||
$jobobject = $null
|
||||
}
|
||||
#Recherche des Objects In Backup et selection de vmname, calcul de la taille et des infos
|
||||
|
||||
$thisbackup = $backup.getlastoibs() | Select-Object -Property vmname,@{Name = "Size_calc"; Expression = {[math]::Round($($_.approxsize / 1024 / 1024 / 1024),2)}},info | sort -Property vmname
|
||||
|
||||
|
||||
#pour chaque Object in Backup
|
||||
foreach ($entry in $thisbackup)
|
||||
{
|
||||
#Recherche des objets dans le job en cours dont l'objectid est le même que l'id de l'Object in Backup actuel
|
||||
$thisjobobject = $jobobject | Where-Object {$_.info.objectid -eq $entry.info.objectid}
|
||||
#si ce jobobject n'est pas exclus
|
||||
if(!$thisjobobject.isexcluded)
|
||||
{
|
||||
$null = $array.add([pscustomobject]@{
|
||||
"VM" = $entry.vmName
|
||||
"Active" = $isScheduled
|
||||
"Job" = $backup.Name
|
||||
"JobPath" = $backup.DirPath.ToString()
|
||||
"JobRepository" = $backup.GetRepositoryName()
|
||||
"Size" = $entry.size_calc
|
||||
"LastPointCreation" = $backup.LastPointCreationTime
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
$array = $array | Sort-Object -Property Job,vm
|
||||
return $array
|
||||
}
|
Loading…
Reference in New Issue
Block a user