diff --git a/Veeam_AllBackups_Full.ps1 b/Veeam_AllBackups_Full.ps1 new file mode 100644 index 0000000..85ece3e --- /dev/null +++ b/Veeam_AllBackups_Full.ps1 @@ -0,0 +1,64 @@ +# Подключаем модуль Veeam +Add-PSSnapIn -Name VeeamPSSnapIn -ErrorAction SilentlyContinue + +$AllJobs = @() + +# 1. Обычные задания резервного копирования +Get-VBRJob | ForEach-Object { + $Job = $_ + $JobObjects = Get-VBRJobObject -Job $Job -ErrorAction SilentlyContinue + + if ($JobObjects) { + $JobObjects | ForEach-Object { + $AllJobs += [PSCustomObject]@{ + JobName = $Job.Name + JobCategory = "Classic Backup" + JobType = $Job.JobType + ObjectName = $_.Name + ObjectType = $_.Type + Enabled = $_.Enabled + } + } + } else { + $AllJobs += [PSCustomObject]@{ + JobName = $Job.Name + JobCategory = "Classic Backup" + JobType = $Job.JobType + ObjectName = "No objects" + ObjectType = "N/A" + Enabled = $null + } + } +} + +# 2. Политики приложений (Application Backup Policies) +Get-VBRApplicationBackupJob | ForEach-Object { + $AllJobs += [PSCustomObject]@{ + JobName = $_.Name + JobCategory = "Application Policy" + JobType = $_.Type # OracleRMAN, SAPHANA, MSSQL и т.д. + ObjectName = "Application Policy" + ObjectType = "N/A" + Enabled = $_.Enabled + } +} + +# 3. Автономные задания плагинов +Get-VBRPluginJob | ForEach-Object { + $AllJobs += [PSCustomObject]@{ + JobName = $_.Name + JobCategory = "Plugin Job" + JobType = $_.JobType # Backup или BackupCopy + ObjectName = "Plugin Job" + ObjectType = "N/A" + Enabled = $_.Enabled + } +} + +# Экспортируем всё в один CSV +$AllJobs | Export-Csv -Path "C:\Veeam_AllBackups_Full.csv" -NoTypeInformation -Encoding UTF8 -Delimiter ";" + +Write-Host "✅ Полный отчет сохранен в C:\Veeam_AllBackups_Full.csv" -ForegroundColor Green +Write-Host " - Classic Backup: $(($AllJobs | Where-Object { $_.JobCategory -eq 'Classic Backup' }).Count) записей" +Write-Host " - Application Policies: $(($AllJobs | Where-Object { $_.JobCategory -eq 'Application Policy' }).Count) записей" +Write-Host " - Plugin Jobs: $(($AllJobs | Where-Object { $_.JobCategory -eq 'Plugin Job' }).Count) записей" \ No newline at end of file