-
- Expert
- Posts: 159
- Liked: 37 times
- Joined: Jan 19, 2016 1:28 pm
- Full Name: Jóhannes Karl Karlsson
- Contact:
Powershell script for configuration backup
Hi,
Does anyone here have a ready to use powershell script that can be scheduled to run a configuration backup of Veeam?
I then want to run it two times a day, each time targeting different storage location.
anyone?
Regards,
Jóhannes
Does anyone here have a ready to use powershell script that can be scheduled to run a configuration backup of Veeam?
I then want to run it two times a day, each time targeting different storage location.
anyone?
Regards,
Jóhannes
-
- Veeam Vanguard
- Posts: 282
- Liked: 113 times
- Joined: Apr 20, 2017 4:19 pm
- Full Name: Joe Houghes
- Location: Castle Rock, CO
- Contact:
Re: Powershell script for configuration backup
You can run it with this code for each run, with examples for morning & evening, you will just need to adjust the first line to set each run to the appropriate repository.
Morning, 8AM example:
Evening, 8PM example:
Morning, 8AM example:
Code: Select all
$Repo = Get-VBRBackupRepository -Name '%reponame%'
$morningoptions = New-VBRDailyOptions -Type Everyday -Period 8:00
$morningschedule = New-VBRConfigurationBackupScheduleOptions -Type Daily -DailyOptions $morningoptions
Set-VBRConfigurationBackupJob -Repository $Repo --ScheduleOptions $morningschedule
Start-VBRConfigurationBackupJob
Code: Select all
$Repo = Get-VBRBackupRepository -Name '%reponame%'
$eveningoptions = New-VBRDailyOptions -Type Everyday -Period 20:00
$eveningschedule = New-VBRConfigurationBackupScheduleOptions -Type Daily -DailyOptions $eveningoptions
Set-VBRConfigurationBackupJob -Repository $Repo --ScheduleOptions $morningschedule
Start-VBRConfigurationBackupJob
Husband, Father, Solutions Architect, Geek | @DenverVMUG & @DenverPSUG leader | International Speaker | Veeam Vanguard | vExpert (PRO) | Cisco Champion
-
- Product Manager
- Posts: 5797
- Liked: 1215 times
- Joined: Jul 15, 2013 11:09 am
- Full Name: Niels Engelen
- Contact:
Re: Powershell script for configuration backup
You can change these via the built-in commands for configuration backup. You can then use Windows Task Manager to create a task to run the script when needed. Most likely it will be easier to create 2 separate scripts instead of 1 big script.
Personal blog: https://foonet.be
GitHub: https://github.com/nielsengelen
GitHub: https://github.com/nielsengelen
-
- Expert
- Posts: 159
- Liked: 37 times
- Joined: Jan 19, 2016 1:28 pm
- Full Name: Jóhannes Karl Karlsson
- Contact:
Re: Powershell script for configuration backup
Thanks Joe Houghes,
I'll give this a try - it seems to be exactly what I was looking for.
Regards,
Jóhannes
I'll give this a try - it seems to be exactly what I was looking for.
Regards,
Jóhannes
-
- Enthusiast
- Posts: 88
- Liked: 8 times
- Joined: Oct 13, 2020 1:40 pm
- Full Name: Leo
- Contact:
Need Powershell script for configuration backup in veeam 9.5 GA
Hello,
I am going to uninstall veeam 9.5 and install the veeam 10 in the same server. Before going to uninstall the veeam 9.5, I need to take the configuration full backup and once after I complete the new installation of veeam 10. I have to restore the configuration backup in veeam 10.
So I need powershell script which take the configuration full backup in veeam 9.5.
Does anyone here have a ready to use powershell script that can be scheduled to run a configuration backup of Veeam 9.5 GA?
If anyone has please kindly share it here.
Thanks in advance.
Regards,
leo.
I am going to uninstall veeam 9.5 and install the veeam 10 in the same server. Before going to uninstall the veeam 9.5, I need to take the configuration full backup and once after I complete the new installation of veeam 10. I have to restore the configuration backup in veeam 10.
So I need powershell script which take the configuration full backup in veeam 9.5.
Does anyone here have a ready to use powershell script that can be scheduled to run a configuration backup of Veeam 9.5 GA?
If anyone has please kindly share it here.
Thanks in advance.
Regards,
leo.
-
- VeeaMVP
- Posts: 695
- Liked: 374 times
- Joined: Jun 24, 2019 1:39 pm
- Full Name: Chris Arceneaux
- Location: Georgia, USA
- Contact:
Re: Powershell script for configuration backup
Hi Leo,
Veeam provides PowerShell cmdlets to do that. The Start-VBRConfigurationBackupJob cmdlet is what you're looking for. It will kick off a configuration backup.
With that said, you won't be able to restore a configuration backup generated with v9.5 GA in v10. Per Veeam documentation, you must be running version 9.5 Update 3 or later. As such, you'll need to upgrade your current instance before proceeding.
Veeam provides PowerShell cmdlets to do that. The Start-VBRConfigurationBackupJob cmdlet is what you're looking for. It will kick off a configuration backup.
With that said, you won't be able to restore a configuration backup generated with v9.5 GA in v10. Per Veeam documentation, you must be running version 9.5 Update 3 or later. As such, you'll need to upgrade your current instance before proceeding.
-
- Lurker
- Posts: 2
- Liked: never
- Joined: Sep 30, 2020 5:25 pm
- Full Name: Bobby Wisdom
- Contact:
Re: Powershell script for configuration backup
If it would be better I can post this as a seperate post, but since this was here, I thought I would try this first.
How do the config backups work in terms of rollups? My boss keeps 30 days of configs and wants me to ship them off to azure. So Ill be removing the 30th and then adding in the new one with my script. Is it ok to just remove and add or is there some kind of rollup involved that I need to take into account?
How do the config backups work in terms of rollups? My boss keeps 30 days of configs and wants me to ship them off to azure. So Ill be removing the 30th and then adding in the new one with my script. Is it ok to just remove and add or is there some kind of rollup involved that I need to take into account?
-
- Enthusiast
- Posts: 40
- Liked: 6 times
- Joined: Sep 30, 2020 11:22 am
- Full Name: Karthik
- Contact:
Re: Powershell script for configuration backup
Hi Joe Houghes,
Good Day!
We also had a similar requirement for the config backup and we thought your script was just perfect for our needs.
But there is just onething which isn't working properly.
When we manually run the script it works like a charm but when the script is executed via the Task Scheduler, the config backup is always backed up to a single repository.
May I know if we are missing something here?
Thanks in advance!
Regards,
Karthik
Good Day!
We also had a similar requirement for the config backup and we thought your script was just perfect for our needs.
But there is just onething which isn't working properly.
When we manually run the script it works like a charm but when the script is executed via the Task Scheduler, the config backup is always backed up to a single repository.
May I know if we are missing something here?
Thanks in advance!
Regards,
Karthik
Regards,
Karthik
Karthik
-
- Veeam Vanguard
- Posts: 282
- Liked: 113 times
- Joined: Apr 20, 2017 4:19 pm
- Full Name: Joe Houghes
- Location: Castle Rock, CO
- Contact:
Re: Powershell script for configuration backup
The sample code I gave was meant to have the repository name set for each run of the script.
Did you set the name correctly?
Did you set the name correctly?
Husband, Father, Solutions Architect, Geek | @DenverVMUG & @DenverPSUG leader | International Speaker | Veeam Vanguard | vExpert (PRO) | Cisco Champion
-
- Enthusiast
- Posts: 40
- Liked: 6 times
- Joined: Sep 30, 2020 11:22 am
- Full Name: Karthik
- Contact:
Re: Powershell script for configuration backup
Hi Joe,
Yes. As I mentioned, it runs fine if I run the script manually. But if it runs via the Task scheduler, the repository doesn't changes.
Regards,
Karthik
Yes. As I mentioned, it runs fine if I run the script manually. But if it runs via the Task scheduler, the repository doesn't changes.
Regards,
Karthik
Regards,
Karthik
Karthik
-
- Veeam Vanguard
- Posts: 282
- Liked: 113 times
- Joined: Apr 20, 2017 4:19 pm
- Full Name: Joe Houghes
- Location: Castle Rock, CO
- Contact:
Re: Powershell script for configuration backup
Please post the code that you are running with Task Scheduler.
Husband, Father, Solutions Architect, Geek | @DenverVMUG & @DenverPSUG leader | International Speaker | Veeam Vanguard | vExpert (PRO) | Cisco Champion
-
- Enthusiast
- Posts: 40
- Liked: 6 times
- Joined: Sep 30, 2020 11:22 am
- Full Name: Karthik
- Contact:
Re: Powershell script for configuration backup
Hi Joe,
It is resolved. I used the Clear-Variable in the script to delete the value of $Repo in both the script. Now it is running fine as expected.
Many thanks.
Regards,
Karthik
It is resolved. I used the Clear-Variable in the script to delete the value of $Repo in both the script. Now it is running fine as expected.
Many thanks.
Regards,
Karthik
Regards,
Karthik
Karthik
-
- Enthusiast
- Posts: 88
- Liked: 8 times
- Joined: Oct 13, 2020 1:40 pm
- Full Name: Leo
- Contact:
Re: Powershell script for configuration backup
Hi chris
@chris.arceneaux
Thanks your reply. Its very useful.
I have one more query.
Veeam Case # 04777946
While I am trying to create Veeam backup job through powershell, Veeam backup get created for most of the products. For few products I am getting the below error. We have never faced this before. We have raised a ticket in veeam support. We have no clue.
--Cannot validate argument on parameter "entity" the argument is null provide a valid value for the argument and try running the command again--
When I am try to debug it, I have found one more thing like - the term 'Find-VBRViEntity' is not recognized as a name of a cmdlet. Not sure whether 'Find-VBRViEntity' cmdlet is deprecated or retired. I have proceed all the veeam module before I proceed these comments.
I am just struck.
Kindly help me to solve this issue. Looking forward for the replies.
Thanks in advance
Leo
@chris.arceneaux
Thanks your reply. Its very useful.
I have one more query.
Veeam Case # 04777946
While I am trying to create Veeam backup job through powershell, Veeam backup get created for most of the products. For few products I am getting the below error. We have never faced this before. We have raised a ticket in veeam support. We have no clue.
--Cannot validate argument on parameter "entity" the argument is null provide a valid value for the argument and try running the command again--
When I am try to debug it, I have found one more thing like - the term 'Find-VBRViEntity' is not recognized as a name of a cmdlet. Not sure whether 'Find-VBRViEntity' cmdlet is deprecated or retired. I have proceed all the veeam module before I proceed these comments.
I am just struck.
Kindly help me to solve this issue. Looking forward for the replies.
Thanks in advance
Leo
-
- Product Manager
- Posts: 2581
- Liked: 708 times
- Joined: Jun 14, 2013 9:30 am
- Full Name: Egor Yakovlev
- Location: Prague, Czech Republic
- Contact:
Re: Powershell script for configuration backup
Hi Leo,
I have deleted 5 of identical posts of yours - please don't post same message in different threads.
As for your questions:
- Find-VBRVIEntity is present. If your machine does not find Veeam commandlets, make sure Veeam PowerShell Snapin(pre-v11) or Module(v11 onwards) is present.
- error you are receiving is a common null-value operation. Meaning your variable contains $null(aka has nothing).
/Thanks!
I have deleted 5 of identical posts of yours - please don't post same message in different threads.
As for your questions:
- Find-VBRVIEntity is present. If your machine does not find Veeam commandlets, make sure Veeam PowerShell Snapin(pre-v11) or Module(v11 onwards) is present.
- error you are receiving is a common null-value operation. Meaning your variable contains $null(aka has nothing).
/Thanks!
-
- Enthusiast
- Posts: 88
- Liked: 8 times
- Joined: Oct 13, 2020 1:40 pm
- Full Name: Leo
- Contact:
Re: Powershell script for configuration backup
Hi Egor,
Thanks for your time.
Yeah got it. I wont post the same message in the different threads again.
I have checked the link which you shared me(https://helpcenter.veeam.com/docs/backu ... ml?ver=110). I tried the same and also module which I am trying through powershell script is present. When I am executing the particular line I am getting the output. Entity is which causing the issue. I have no clue.
Can you please help me to fix the issue.
Regards
Leo
Thanks for your time.
Yeah got it. I wont post the same message in the different threads again.
I have checked the link which you shared me(https://helpcenter.veeam.com/docs/backu ... ml?ver=110). I tried the same and also module which I am trying through powershell script is present. When I am executing the particular line I am getting the output. Entity is which causing the issue. I have no clue.
Can you please help me to fix the issue.
Regards
Leo
-
- Product Manager
- Posts: 2581
- Liked: 708 times
- Joined: Jun 14, 2013 9:30 am
- Full Name: Egor Yakovlev
- Location: Prague, Czech Republic
- Contact:
Re: Powershell script for configuration backup
Can you please post the entire command that gives an error to you?
Does Get-VBRCommand returns results?
Does Get-VBRCommand returns results?
-
- Enthusiast
- Posts: 88
- Liked: 8 times
- Joined: Oct 13, 2020 1:40 pm
- Full Name: Leo
- Contact:
Re: Powershell script for configuration backup
Hi Egor,
I am not getting any result for "Get-VBRCommand". Its throwing error like, the term 'Get-VBRCommand" is not recognized as a name of a cmdlet.
Backup job creating for all pools, except the management pool. Which was number 8 in below script.
I have attached my whole script below.
Please let me know if you need anything else
Thanks for your time.
Regards
leo
I am not getting any result for "Get-VBRCommand". Its throwing error like, the term 'Get-VBRCommand" is not recognized as a name of a cmdlet.
Backup job creating for all pools, except the management pool. Which was number 8 in below script.
I have attached my whole script below.
Please let me know if you need anything else
Code: Select all
-----------------------------------------------**Script Starts**----------------------------------------------------------
Add-PSSnapin VeeamPSSnapin
{
while($True)
{
$siteID1 = Read-Host -Prompt "`nEnter the Site ID name "
$siteID2 = Read-Host -Prompt "`nRe-Enter the Site ID name "
if ($siteID1 -ne $siteID2)
{
Write-Host "Value does not match.. Enter SiteID" -fore Red
}
else
{
Break
}
}
$ISEESiteID = $siteID1
Write-Host "________________________________________________________________"
Write-Host "`nSelect the application to create Backup Jobs "
Write-Host "`n1 - IntelliSpace Cardiovascular (ISCV)"
Write-Host "`n2 - IntelliSapce ECG (IECG)"
Write-Host "`n3 - Xper IM"
Write-Host "`n4 - IntelliSpace Concerto (Concerto)"
Write-Host "`n5 - DoseWise Portal"
Write-Host "`n6 - IntelliBridge Enterprise (IBE)"
Write-Host "`n7 - Performance Bridge"
Write-Host "`n8 - Management"
Write-Host "`n9 - Deployment Node"
Write-Host "`nTo Exit -> Ctrl + C " -fore Red
$Option = Read-Host -Prompt "`nEnter the option [Eg : 1 ]"
switch ( $Option )
{
{($_ -eq "1")}
{
Clear
Write-Host "`nCreating New Backup Job for IntelliSpace Cardiovascular (ISCV) Production...`n"
$BackupJobName = "$($ISEESiteID)_Production_ISCV"
$PlainPassword = Read-Host -assecurestring "`nEnter the cryptic password for encryption (please remember this password, since this cannot be restored once it is lost) :"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *ISCV* | Where {$_.Name -NotMatch "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $True -EnableFullBackup $False -FullBackupDays Sunday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Periodicaly -FullPeriod 12 -PeriodicallyKind Hours
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $True -EnableFullBackup $False -FullBackupDays Sunday -TransformToSyntethicDays Sunday
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
Clear
Write-Host "`nCreating New Backup Job for IntelliSpace Cardiovascular (ISCV) Test...`n"
$BackupJobName = "$($ISEESiteID)_TEST_ISCV"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *ISCV* | Where {$_.Name -Match "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $False -EnableFullBackup $True -FullBackupScheduleKind Monthly -DayNumberInMonth Last -DayOfWeek Saturday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Monthly -At "4:00" -NumberInMonth Last -Days Saturday
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
}
{($_ -eq "2")}
{
Clear
Write-Host "`nCreating New Backup Job for IntelliSapce ECG (IECG) Production...`n"
$BackupJobName = "$($ISEESiteID)_Production_IECG"
$PlainPassword = Read-Host -assecurestring "`nEnter the cryptic password for encryption (please remember this password, since this cannot be restored once it is lost) :"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *IECG* | Where {$_.Name -NotMatch "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $True -EnableFullBackup $False -FullBackupDays Sunday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Daily -At "00:00"
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $True -EnableFullBackup $False -FullBackupDays Sunday -TransformToSyntethicDays Sunday
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
Clear
Write-Host "`nCreating New Backup Job for IntelliSapce ECG (IECG) Test...`n"
$BackupJobName = "$($ISEESiteID)_Test_IECG"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *IECG* | Where {$_.Name -Match "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $False -EnableFullBackup $True -FullBackupScheduleKind Monthly -DayNumberInMonth Last -DayOfWeek Saturday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Monthly -At "4:00" -NumberInMonth Last -Days Saturday
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
}
{($_ -eq "3")}
{
Clear
Write-Host "`nCreating New Backup Job for Xper IM Production...`n"
$BackupJobName = "$($ISEESiteID)_Production_XperIM"
$PlainPassword = Read-Host -assecurestring "`nEnter the cryptic password for encryption (please remember this password, since this cannot be restored once it is lost) :"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *XPERD* | Where {$_.Name -NotMatch "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $True -EnableFullBackup $False -FullBackupDays Sunday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Daily -At "00:00"
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $True -EnableFullBackup $False -FullBackupDays Sunday -TransformToSyntethicDays Sunday
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
Clear
Write-Host "`nCreating New Backup Job for Xper IM Production TEST...`n"
$BackupJobName = "$($ISEESiteID)_Test_XperIM"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *XPERD* | Where {$_.Name -Match "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $False -EnableFullBackup $True -FullBackupScheduleKind Monthly -DayNumberInMonth Last -DayOfWeek Saturday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Monthly -At "4:00" -NumberInMonth Last -Days Saturday
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
}
{($_ -eq "4")}
{
Clear
Write-Host "`nCreating New Backup Job for IntelliSpace Enterprise (Concerto) Production...`n"
$BackupJobName = "$($ISEESiteID)_Production_Concerto"
$PlainPassword = Read-Host -assecurestring "`nEnter the cryptic password for encryption (please remember this password, since this cannot be restored once it is lost) :"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *ISP* | Where {$_.Name -NotMatch "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $False -EnableFullBackup $False -FullBackupDays Sunday
Get-VBRJob -Name $BackupJobName | Disable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
Clear
Write-Host "`nCreating New Backup Job for IntelliSpace Enterprise (Concerto) TEST...`n"
$BackupJobName = "$($ISEESiteID)_Test_Concerto"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *ISP* | Where {$_.Name -Match "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $False -EnableFullBackup $False -FullBackupScheduleKind Monthly -DayNumberInMonth Last -DayOfWeek Sunday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Periodicaly -FullPeriod 12 -PeriodicallyKind Hours
Get-VBRJob -Name $BackupJobName | Disable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
}
{($_ -eq "5")}
{
Clear
Write-Host "`nCreating New Backup Job for DoseWise Portal Production...`n"
$BackupJobName = "$($ISEESiteID)_Production_DoseWisePortal"
$PlainPassword = Read-Host -assecurestring "`nEnter the cryptic password for encryption (please remember this password, since this cannot be restored once it is lost) :"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *DWPAP* | Where {$_.Name -NotMatch "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $True -EnableFullBackup $False -FullBackupDays Sunday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Daily -At "00:00"
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $True -EnableFullBackup $False -FullBackupDays Sunday -TransformToSyntethicDays Sunday
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
Clear
Write-Host "`nCreating New Backup Job for DoseWise Portal Test...`n"
$BackupJobName = "$($ISEESiteID)_Test_DoseWisePortal"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *DWPTST* | Where {$_.Name -Match "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $False -EnableFullBackup $True -FullBackupScheduleKind Monthly -DayNumberInMonth Last -DayOfWeek Saturday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Monthly -At "4:00" -NumberInMonth Last -Days Saturday
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
}
{($_ -eq "6")}
{
Clear
Write-Host "`nCreating New Backup Job for ISEE - IntelliBridge Enterprise (IBE) Production...`n"
$BackupJobName = "$($ISEESiteID)_Production_IntelliBridge"
$PlainPassword = Read-Host -assecurestring "`nEnter the cryptic password for encryption (please remember this password, since this cannot be restored once it is lost) :"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *IBE* | Where {$_.Name -NotMatch "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $True -EnableFullBackup $False -FullBackupDays Sunday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Daily -At "00:00"
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $True -EnableFullBackup $False -FullBackupDays Sunday -TransformToSyntethicDays Sunday
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
Clear
Write-Host "`nCreating New Backup Job for ISEE - IntelliBridge Enterprise (IBE) TEST...`n"
$BackupJobName = "$($ISEESiteID)_Test_IntelliBridge"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *IBE* | Where {$_.Name -Match "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $False -EnableFullBackup $True -FullBackupScheduleKind Monthly -DayNumberInMonth Last -DayOfWeek Saturday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Monthly -At "4:00" -NumberInMonth Last -Days Saturday
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
}
{($_ -eq "7")}
{
Clear
Write-Host "`nCreating New Backup Job for Performance Bridge Production...`n"
$BackupJobName = "$($ISEESiteID)_Production_PerformanceBridge"
$PlainPassword = Read-Host -assecurestring "`nEnter the cryptic password for encryption (please remember this password, since this cannot be restored once it is lost) :"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *PB* | Where {$_.Name -NotMatch "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $True -EnableFullBackup $False -FullBackupDays Sunday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Daily -At "00:00"
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $True -EnableFullBackup $False -FullBackupDays Sunday -TransformToSyntethicDays Sunday
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
Clear
Write-Host "`nCreating New Backup Job for Performance Bridge Test...`n"
$BackupJobName = "$($ISEESiteID)_Test_PerformanceBridge"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *PB* | Where {$_.Name -Match "TST"}
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $False -EnableFullBackup $True -FullBackupScheduleKind Monthly -DayNumberInMonth Last -DayOfWeek Saturday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Monthly -At "4:00" -NumberInMonth Last -Days Saturday
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
}
{($_ -eq "8")}
{
Clear
Write-Host "`nCreating New Backup Job for Management VMs...`n"
$BackupJobName = "$($ISEESiteID)_MGT_VMS"
$PlainPassword = Read-Host -assecurestring "`nEnter the cryptic password for encryption (please remember this password, since this cannot be restored once it is lost) :"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *vCenter*
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $False -EnableFullBackup $True -FullBackupScheduleKind Monthly -DayNumberInMonth Last -DayOfWeek Saturday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Monthly -At "4:00" -NumberInMonth Last -Days Saturday
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
$Job = Get-VBRJob -name $BackupJobName
$VMS = "*ISEEDC1*","*ISEEBDC2*","*THYDE1*"
foreach ($VM in $VMS)
{
$Entity = Find-VBRViEntity -VMsAndTemplates -name $VM
Add-VBRViJobObject -Job $Job -Entities $Entity
}
}
{($_ -eq "9")}
{
Clear
Write-Host "`nCreating New Backup Job for Deployment Node...`n"
$BackupJobName = "$($ISEESiteID)_DeploymentNode"
$PlainPassword = Read-Host -assecurestring "`nEnter the cryptic password for encryption (please remember this password, since this cannot be restored once it is lost) :"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *DN1*
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $False -EnableFullBackup $True -FullBackupScheduleKind Monthly -DayNumberInMonth Last -DayOfWeek Saturday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Monthly -At "4:00" -NumberInMonth Last -Days Saturday
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
}
}
}
---------------------------------------------------------**End of the script**----------------------------------------------
Regards
leo
-
- Product Manager
- Posts: 2581
- Liked: 708 times
- Joined: Jun 14, 2013 9:30 am
- Full Name: Egor Yakovlev
- Location: Prague, Czech Republic
- Contact:
Re: Powershell script for configuration backup
Well if Get-VBRCommand returns nothing, means you don't have Veeam PowerShell up on your machine that executes that script.
Which VBR version you are running?
Also check what is returned by $Entity = Find-VBRViEntity -VMsAndTemplates -name *vCenter*.
Which VBR version you are running?
Also check what is returned by $Entity = Find-VBRViEntity -VMsAndTemplates -name *vCenter*.
-
- Enthusiast
- Posts: 88
- Liked: 8 times
- Joined: Oct 13, 2020 1:40 pm
- Full Name: Leo
- Contact:
Re: Powershell script for configuration backup
Hi Egor,
Thanks for your response.
We are using Veeam backup and replication 10.
I have executed it ($Entity = Find-VBRViEntity -VMsAndTemplates -name *vCenter*).
Command ran successfully but I am not getting any output and also I am not getting any error. After that I have ran "$Entity". I am getting the same result (No error and No output) there as well.
Regards
leo
Thanks for your response.
We are using Veeam backup and replication 10.
I have executed it ($Entity = Find-VBRViEntity -VMsAndTemplates -name *vCenter*).
Command ran successfully but I am not getting any output and also I am not getting any error. After that I have ran "$Entity". I am getting the same result (No error and No output) there as well.
Regards
leo
-
- Product Manager
- Posts: 2581
- Liked: 708 times
- Joined: Jun 14, 2013 9:30 am
- Full Name: Egor Yakovlev
- Location: Prague, Czech Republic
- Contact:
Re: Powershell script for configuration backup
"$Entity = Find-VBRViEntity -VMsAndTemplates -name *vCenter*" searches for machines with vCenter in them...it seems you don't have those in your environment? So it returns $null, and $Entity is $null, so next cmdlet to create a job for $null fails.
You can double check it in VBR console > Inventory > select added vCenter server > in search type "vCenter". That will list all machines with vCenter in name.
You can double check it in VBR console > Inventory > select added vCenter server > in search type "vCenter". That will list all machines with vCenter in name.
-
- Veeam Vanguard
- Posts: 282
- Liked: 113 times
- Joined: Apr 20, 2017 4:19 pm
- Full Name: Joe Houghes
- Location: Castle Rock, CO
- Contact:
Re: Powershell script for configuration backup
Just before your error message, it will give you a line # and character #, along with the text of the line in your script that is causing the error. We need to know that to be able to assist with anything, as this is just basic PowerShell troubleshooting at this point.
Running the command that Egor provided and getting no output just means that you do not have a VM or template within your vSphere environment which contains 'vCenter' in the name.
Running the command that Egor provided and getting no output just means that you do not have a VM or template within your vSphere environment which contains 'vCenter' in the name.
Husband, Father, Solutions Architect, Geek | @DenverVMUG & @DenverPSUG leader | International Speaker | Veeam Vanguard | vExpert (PRO) | Cisco Champion
-
- Enthusiast
- Posts: 88
- Liked: 8 times
- Joined: Oct 13, 2020 1:40 pm
- Full Name: Leo
- Contact:
Re: Powershell script for configuration backup
Hi Egor & Jhoughes,
Thanks a lot.. Yes you both are right. Its searching for "vCenter" virtual machine in the vCenter. If its not there its not proceed futher.
Special thanks to "Egor" for checking this issue from the beginning and found the issue.
Actually this script has to create backup job for vCenter and other management servers as well (*ISEEDC1*","*ISEEBDC2*","*THYDE1*") as well when I am selecting number 8. This is the expectation.
But its failing in the first level itself hence vCenter VM is missing.
I need one last help from you experts, If the VCenter virtual machine is not present in the vCenter, It has to check for other management servers (*ISEEDC1*","*ISEEBDC2*","*THYDE1*") and It have to create backup job for other servers.
Can you please do me one last favour to change the logic. I have no idea how to change the logic.
I am looking forward to hear from you experts.
Thanks in advance.
Regards
Leo.
Thanks a lot.. Yes you both are right. Its searching for "vCenter" virtual machine in the vCenter. If its not there its not proceed futher.
Special thanks to "Egor" for checking this issue from the beginning and found the issue.
Actually this script has to create backup job for vCenter and other management servers as well (*ISEEDC1*","*ISEEBDC2*","*THYDE1*") as well when I am selecting number 8. This is the expectation.
But its failing in the first level itself hence vCenter VM is missing.
I need one last help from you experts, If the VCenter virtual machine is not present in the vCenter, It has to check for other management servers (*ISEEDC1*","*ISEEBDC2*","*THYDE1*") and It have to create backup job for other servers.
Can you please do me one last favour to change the logic. I have no idea how to change the logic.
I am looking forward to hear from you experts.
Thanks in advance.
Regards
Leo.
-
- Veeam Software
- Posts: 2010
- Liked: 670 times
- Joined: Sep 25, 2019 10:32 am
- Full Name: Oleg Feoktistov
- Contact:
Re: Powershell script for configuration backup
Hi Leo,
If no -Server parameter passed to Find-VBRViEntity, it searches for the conditions you provided in all the relevant hosts you have as managed by VBR. For instance, if you have 2 vCenters and 1 standalone ESXi added to VBR console, Find-VBRViEntity -Name 'vCenter*' -VMsAndTemplates query will try to find the vm/template with such name in all of them. If the output is empty in this case, that means no vm was found across all the managed vCenters/ESXis.
Thanks,
Oleg
If no -Server parameter passed to Find-VBRViEntity, it searches for the conditions you provided in all the relevant hosts you have as managed by VBR. For instance, if you have 2 vCenters and 1 standalone ESXi added to VBR console, Find-VBRViEntity -Name 'vCenter*' -VMsAndTemplates query will try to find the vm/template with such name in all of them. If the output is empty in this case, that means no vm was found across all the managed vCenters/ESXis.
Thanks,
Oleg
-
- Enthusiast
- Posts: 88
- Liked: 8 times
- Joined: Oct 13, 2020 1:40 pm
- Full Name: Leo
- Contact:
Re: Powershell script for configuration backup
Hi Oleg,
Yes got it.
Thanks much for your time.
Regards
Leo
Yes got it.
Thanks much for your time.
Regards
Leo
-
- Enthusiast
- Posts: 88
- Liked: 8 times
- Joined: Oct 13, 2020 1:40 pm
- Full Name: Leo
- Contact:
Re: Powershell script for configuration backup
Hi Experts,
I am facing one more issue from my above script. I am getting the below error in last of the script.
--Cannot validate argument on parameter "Job" the argument is null provide a valid value for the argument and try running the command again-
Below I have posted that problematic block.
-----------------------------------------***************--------------------------------------------------------------
$Job = Get-VBRJob -name $BackupJobName
$VMS = "*ISEEDC1*","*ISEEBDC2*","*THYDE1*"
foreach ($VM in $VMS)
{
$Entity = Find-VBRViEntity -VMsAndTemplates -name $VM
Add-VBRViJobObject -Job $Job -Entities $Entity
}
----------------------------------------------*****************--------------------------------------------------------------
Thanks in advance.
Regards
Leo.
I am facing one more issue from my above script. I am getting the below error in last of the script.
--Cannot validate argument on parameter "Job" the argument is null provide a valid value for the argument and try running the command again-
Below I have posted that problematic block.
-----------------------------------------***************--------------------------------------------------------------
$Job = Get-VBRJob -name $BackupJobName
$VMS = "*ISEEDC1*","*ISEEBDC2*","*THYDE1*"
foreach ($VM in $VMS)
{
$Entity = Find-VBRViEntity -VMsAndTemplates -name $VM
Add-VBRViJobObject -Job $Job -Entities $Entity
}
----------------------------------------------*****************--------------------------------------------------------------
Thanks in advance.
Regards
Leo.
-
- Product Manager
- Posts: 2581
- Liked: 708 times
- Joined: Jun 14, 2013 9:30 am
- Full Name: Egor Yakovlev
- Location: Prague, Czech Republic
- Contact:
Re: Powershell script for configuration backup
Likewise, "$Job = Get-VBRJob -name $BackupJobName" returns $null.
Meaning you don't have a VBR job with name kept in $BackupJobName variable.
Meaning you don't have a VBR job with name kept in $BackupJobName variable.
-
- Enthusiast
- Posts: 88
- Liked: 8 times
- Joined: Oct 13, 2020 1:40 pm
- Full Name: Leo
- Contact:
Re: Powershell script for configuration backup
Hi Egor,
$BackupJobName variable is declared in the second line of this below script. So i am getting output when I execute only $BackupJobName.
Regards
Leo
$BackupJobName variable is declared in the second line of this below script. So i am getting output when I execute only $BackupJobName.
Code: Select all
Write-Host "`nCreating New Backup Job for Management VMs...`n"
$BackupJobName = "$($ISEESiteID)_MGT_VMS"
$PlainPassword = Read-Host -assecurestring "`nEnter the cryptic password for encryption (please remember this password, since this cannot be restored once it is lost) :"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
$Key = Add-VBREncryptionKey -Password $SecurePassword -Description "Veeam Administrator"
$Entity = Find-VBRViEntity -VMsAndTemplates -name *vCenter*
$repository = Get-VBRBackupRepository
Add-VBRViBackupJob -Name $BackupJobName -Entity $Entity -BackupRepository $repository
$job = Get-VBRJob -Name $BackupJobName
$options = $job.GetOptions()
$options.BackupStorageOptions.RetainCycles = 8
Set-VBRJobOptions -Job $job -Options $options
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedStorageOptions -CompressionLevel 5 -EnableDeduplication $True -StorageBlockSize 7
$Options=$job.getoptions()
$Options.GenerationPolicy.RecheckScheduleKind = "Monthly"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayOfWeek = "Sunday"
$Options.GenerationPolicy.RecheckBackupMonthlyScheduleOptions.DayNumberInMonth = "Last"
$Options.GenerationPolicy.EnableRechek = $true
$job.SetOptions($Options) | out-null
Set-VBRJobAdvancedStorageOptions -Job $job -EnableEncryption $true -EncryptionKey $Key
Get-VBRJob -Name $BackupJobName | Set-VBRJobAdvancedBackupOptions -Algorithm Incremental -TransformFullToSyntethic $False -EnableFullBackup $True -FullBackupScheduleKind Monthly -DayNumberInMonth Last -DayOfWeek Saturday
Get-VBRJob -Name $BackupJobName | Set-VBRJobSchedule -Monthly -At "4:00" -NumberInMonth Last -Days Saturday
Get-VBRJob -Name $BackupJobName | Enable-VBRJobSchedule
Get-VBRJob -Name $BackupJobName | Disable-VBRJob
$Job = Get-VBRJob -name $BackupJobName
$VMS = "*ISEEDC1*","*ISEEBDC2*","*THYDE1*"
foreach ($VM in $VMS)
{
$Entity = Find-VBRViEntity -VMsAndTemplates -name $VM
Add-VBRViJobObject -Job $Job -Entities $Entity
}
Leo
-
- Veeam Software
- Posts: 2010
- Liked: 670 times
- Joined: Sep 25, 2019 10:32 am
- Full Name: Oleg Feoktistov
- Contact:
Re: Powershell script for configuration backup
Leo,
Please use </> option for wrapping your script in code tags when previewing a post so that it could be easier to read and copy the code you want to share. What Egor means is that Get-VBRJob couldn't find jobs with name "<$ISEESiteID_value>_MGT_VMS". It might be worth checking the job name and applying another condition/search pattern.
Thanks,
Oleg
Please use </> option for wrapping your script in code tags when previewing a post so that it could be easier to read and copy the code you want to share. What Egor means is that Get-VBRJob couldn't find jobs with name "<$ISEESiteID_value>_MGT_VMS". It might be worth checking the job name and applying another condition/search pattern.
Thanks,
Oleg
-
- Enthusiast
- Posts: 88
- Liked: 8 times
- Joined: Oct 13, 2020 1:40 pm
- Full Name: Leo
- Contact:
Re: Powershell script for configuration backup
Hi Oleg,
Noted. Let me check it once.
Thanks much for your suggestion regarding </> option for wrapping the script.
Regards
Leo
Noted. Let me check it once.
Thanks much for your suggestion regarding </> option for wrapping the script.
Regards
Leo
Who is online
Users browsing this forum: No registered users and 18 guests