Sizi Arayalım
Fatura Öde
EN
Veeam’de Pratik PowerShell Komutları

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.

3-TXT yada CSV formatındaki raporları oluştururken “#” işaretini ekleme yada çıkarma yapmayı unutmayın.

$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"

Onur Demir

Depolama ve Yedekleme Sistemleri Kıdemli Uzmanı