Skip to main content

Veeam’de Pratik PowerShell Komutları-2

  • June 4, 2025
  • 2 comments
  • 32 views

onurdemir
Forum|alt.badge.img

 

Veeam Backup & Replication, güçlü özellikleriyle yedekleme süreçlerini kolaylaştırıyor. PowerShell sayesinde işleri bir adım öteye taşıyabilir, günlük işlemleri otomatize edebilir ve özelleştirebilirsiniz!

VM Bazlı Backup Görevinin Yedekleme Boyutlarının Raporunu Oluşturma

Backup joblarınızın vm bazlı yedekleme boyutlarını gösteren raporu, ekrana yansıtabilir, TXT yada CSV formatında oluşturabilirsiniz.

1-Get-VBRBackupSession komutu kullanıldığı için rapor çekilmesi uzun sürebilir.

2- Veeam Backup & Replication Console > Options > History > Session history session değeri kadar geriye gidildiği için değerin dışındaki yedeklemelerin boyutlarını gösteremez.

 

 

$job = "BACKUP_JOB_NAME"

$backup = Get-VBRBackup -Name $job

$sessions = Get-VBRBackupSession | where { $_.JobId -eq $backup.JobId }

$rps = Get-VBRRestorePoint -Backup $backup



# VM bazlı backup boyutlarını saklayacak bir hash tablosu oluştur

$vmBackupSizes = @{}

$totalBackupSize = 0





foreach ($rp in $rps) {

$session = $sessions | where { $_.Id -eq $rp.JobRunId }

$taskSessions = Get-VBRTaskSession -Session $session

$taskSession = $taskSessions | where { $_.ObjectId -eq $rp.ObjectId }

$storage = $rp.FindStorage()

$stats = $storage.Stats

$roundedBackupSize = [Math]::Round($stats.BackupSize / 1GB, 1)



# Eğer VM daha önce eklenmediyse, başlangıç değeri olarak 0 ata

if (-not $vmBackupSizes.ContainsKey($rp.Name)) {

$vmBackupSizes[$rp.Name] = 0

}



# VM'in toplam backup boyutuna ekleme yap

$vmBackupSizes[$rp.Name] += $roundedBackupSize

$totalBackupSize += $roundedBackupSize

}



# CSV ve TXT formatında rapor oluştur

$vmResults = @()

foreach ($vm in $vmBackupSizes.Keys) {

$vmResults += [PSCustomObject]@{

VMName = $vm

BackupSizeGB = $vmBackupSizes[$vm]



}

}



# Sonuçları CSV formatında kaydet

#$vmResults | Export-Csv -Path "C:\Temp\$($Job)_VMBackupReport_$(Get-Date -Format "dd.MM.yyyy").csv" -NoTypeInformation -Encoding UTF8



# Sonuçları TXT formatında kaydet

#$vmResults | Format-Table -AutoSize | Out-File -FilePath "C:\Temp\$($Job)_VMBackupReport_$(Get-Date -Format "dd.MM.yyyy").txt" -Force



# Sonuçları ekrana yazdır

$vmResults | Format-Table -AutoSize



Write-Output "Toplam Yedekleme Boyutu: $totalBackupSize GB"

 

Vakit ayırıp yazımı okuduğunuz için teşekkür ederim.

Başka yazımda görüşmek dileğiyle…

2 comments

Bulent.Tolu
Forum|alt.badge.img+5
  • Comes here often
  • June 11, 2025

Ellerinize sağlık Onur hocam. 


onurdemir
Forum|alt.badge.img
  • Author
  • Comes here often
  • June 18, 2025

Ellerinize sağlık Onur hocam. 

Teşekkürler Bülent Hocam :)