Greetings,
I have (2) proxy servers that no longer exist in our environment but are assigned to 125 jobs (manually). Needless to day, I must remove them from all jobs before Veeam allows me to remove the proxy servers from inventory. I have searched high and low for the Veeam PS syntax to remove these servers from the individual jobs, but only have found examples for adding them:
$Job = Get-VBRJob -name $server.serverjob
$Proxy = Get-VBRViProxy -name "ProxyToAdd"
$Type = [Veeam.Backup.Model.CJobProxyInfo+EType]::ESource
[Veeam.Backup.Core.CJobProxy]::Create($job.id, $proxy.id, $type)
I have replaced 'create' with 'delete' and 'remove' to no avail. Any help would be greatly appreciated!
Case # 03316246
Kevin
-
- Novice
- Posts: 5
- Liked: never
- Joined: Sep 25, 2014 9:40 pm
- Full Name: Kevin
- Contact:
-
- Veeam Vanguard
- Posts: 282
- Liked: 113 times
- Joined: Apr 20, 2017 4:19 pm
- Full Name: Joe Houghes
- Location: Castle Rock, CO
- Contact:
Re: Script to remove a retired proxy server from multiple jobs?
If you are trying to explicitly set the same existing proxies minus the 2 proxies, then your easiest option is probably to get all of your job objects and run through a loop of the following:]
1. Get the name of all proxies assigned to each job
2. Remove the names of retired proxies from the arraylist
3. Get the objects of the remaining proxies
4. Set the job with the remaining proxies
Here's an example of running this through my lab to remove the proxies named 'ausveeampxy01.lab.fullstackgeek.net' and 'ausveeampxy02.lab.fullstackgeek.net'.
Modify the proxy names as necessary, and you may want to run this against a few jobs first to validate that it is performing what you are trying to do:
1. Get the name of all proxies assigned to each job
2. Remove the names of retired proxies from the arraylist
3. Get the objects of the remaining proxies
4. Set the job with the remaining proxies
Here's an example of running this through my lab to remove the proxies named 'ausveeampxy01.lab.fullstackgeek.net' and 'ausveeampxy02.lab.fullstackgeek.net'.
Modify the proxy names as necessary, and you may want to run this against a few jobs first to validate that it is performing what you are trying to do:
Code: Select all
$alljobs = Get-VBRJob
foreach ($job in $alljobs) {
[System.Collections.ArrayList]$origproxies = $job | Get-VBRJobProxy | foreach { $_ | Select-Object -ExpandProperty Name}
$origproxies.Remove('ausveeampxy01.lab.fullstackgeek.net')
$origproxies.Remove('ausveeampxy02.lab.fullstackgeek.net')
$newproxies = Get-VBRViProxy -Name $origproxies
$job | Set-VBRJobProxy -Proxy $newproxies
}
Husband, Father, Solutions Architect, Geek | @DenverVMUG & @DenverPSUG leader | International Speaker | Veeam Vanguard | vExpert (PRO) | Cisco Champion
-
- Novice
- Posts: 5
- Liked: never
- Joined: Sep 25, 2014 9:40 pm
- Full Name: Kevin
- Contact:
Re: Script to remove a retired proxy server from multiple jobs?
Hi Joe,
Thanks for the quick reply - will give it a go.
Cheers,
Kevin
Thanks for the quick reply - will give it a go.
Cheers,
Kevin
Who is online
Users browsing this forum: No registered users and 18 guests