64 lines
2.5 KiB
PowerShell
64 lines
2.5 KiB
PowerShell
# Подключаем модуль 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) записей" |