So... if I use Get-VBRRestorePoint, I end up getting restore points that the GUI has no idea exist (and in fact do not exist). And I end up not getting some restore points that the GUI says exist (and have been tested manually as a result!). In one case it can't find any restore points for a server. It is proving to be an unreliable source of information.
Other functions are deprecated and not working, with no replacement to fill the hole their deprecation left behind.
I'm trying to build a script that will take a list of VMs from a CSV and restore them "to a new location" so that I can automate a devlab setup. I can certainly understand Veeam wanting to push their Orchestrator stuff, but we've no business case for something with that cost.
Are there any plans to give the powershell snapin some much-needed TLC?
-
- Expert
- Posts: 203
- Liked: 34 times
- Joined: Jul 26, 2012 8:04 pm
- Full Name: Erik Kisner
- Contact:
-
- VP, Product Management
- Posts: 6035
- Liked: 2860 times
- Joined: Jun 05, 2009 12:57 pm
- Full Name: Tom Sightler
- Contact:
Re: Get-VBRRestorePoint - what?
Can you provide more concrete examples of what you are referring to? Get-VBRRestorePoint is a fully supported cmdlet, but it doesn't return all restore points, for example, in U3 it doesn't include agent backups for example, because full agent support for Powershell was not in U3, and you can't get tape backups from it either, because tapes use a different cmdlet. However, I have tons of scripts that successfully use Get-VBRRestorePoint.
Normally I would say that, if you have a restore point that is returned by Get-VBRRestorePoint, but it's not in the GUI, that's a serious problem.
Also, I'm not sure what you mean by deprecated functions with no working replacement. There are indeed some deprecated cmdlets, but this is normal, and they were typically replaced with other functionality unless it was determined that this functionality was not needed or outside of scope.
I have a script that does almost exactly what you are attempting to do, although it restores all VMs from a specific backup job, but it could easily be modified to take a CSV file as input. I'd be happy to share if you are interested and you think it would help. It could certainly use some cleanup as it was written many years ago and hasn't seen much use lately, but I'd still be happy to share it.
Regarding your comment about Veeam wanting to "push orchestrator stuff", I can safely say that Powershell is not suffering due to this as our orchestration tools themselves use Powershell quite heavily. Rather, many bugs and enhacements have come to Powershell in U4 due to this and the community gets the benefit of that whether they use our tools or write their own scripts.
Normally I would say that, if you have a restore point that is returned by Get-VBRRestorePoint, but it's not in the GUI, that's a serious problem.
Also, I'm not sure what you mean by deprecated functions with no working replacement. There are indeed some deprecated cmdlets, but this is normal, and they were typically replaced with other functionality unless it was determined that this functionality was not needed or outside of scope.
I have a script that does almost exactly what you are attempting to do, although it restores all VMs from a specific backup job, but it could easily be modified to take a CSV file as input. I'd be happy to share if you are interested and you think it would help. It could certainly use some cleanup as it was written many years ago and hasn't seen much use lately, but I'd still be happy to share it.
Regarding your comment about Veeam wanting to "push orchestrator stuff", I can safely say that Powershell is not suffering due to this as our orchestration tools themselves use Powershell quite heavily. Rather, many bugs and enhacements have come to Powershell in U4 due to this and the community gets the benefit of that whether they use our tools or write their own scripts.
-
- Expert
- Posts: 203
- Liked: 34 times
- Joined: Jul 26, 2012 8:04 pm
- Full Name: Erik Kisner
- Contact:
Re: Get-VBRRestorePoint - what?
I have a support ticket open for it as well, but one such concrete example, based on agent backups (you saying it doesn't include agent backups makes it even more confusing):
A job called "GIS-APP Agent", which backs up a protection group called "GIS-APP Servers", which in turn has two physical servers in it "GIS-APP" and "GIS-APP2". If I get-vbrrestorepoint -name "GIS-APP", I get a full list of restore points for that agent backup (and only that one). If I get-vbrrestorepoint -name "GIS-APP2", I get nothing. Both back up in the same job within minutes of each other successfully.
A different example, we have a job set to back up VMs every 4 hours, with retention of 21 points. That would mean 3.5 days worth of restore points. When I run the get-vbrrestorepoint for that particular VM, it does return all of the expected restore points, as well has 4 others, one of which is more than 3 months old. None of those 4 others show up in the GUI, nor do their VIB/VBK files appear to be present.
As for deprecated commands, consider Find-VBRTapeCatalog. I had to resort to an SQL script posted by another user to retrieve this information directly out of the database. I've seen a few others deprecated without replacement, but this is the first that comes to mind.
Regarding your existing script, yes, I'd love it - cleanup, if needed, will not be a problem.
A job called "GIS-APP Agent", which backs up a protection group called "GIS-APP Servers", which in turn has two physical servers in it "GIS-APP" and "GIS-APP2". If I get-vbrrestorepoint -name "GIS-APP", I get a full list of restore points for that agent backup (and only that one). If I get-vbrrestorepoint -name "GIS-APP2", I get nothing. Both back up in the same job within minutes of each other successfully.
A different example, we have a job set to back up VMs every 4 hours, with retention of 21 points. That would mean 3.5 days worth of restore points. When I run the get-vbrrestorepoint for that particular VM, it does return all of the expected restore points, as well has 4 others, one of which is more than 3 months old. None of those 4 others show up in the GUI, nor do their VIB/VBK files appear to be present.
As for deprecated commands, consider Find-VBRTapeCatalog. I had to resort to an SQL script posted by another user to retrieve this information directly out of the database. I've seen a few others deprecated without replacement, but this is the first that comes to mind.
Regarding your existing script, yes, I'd love it - cleanup, if needed, will not be a problem.
-
- VP, Product Management
- Posts: 6035
- Liked: 2860 times
- Joined: Jun 05, 2009 12:57 pm
- Full Name: Tom Sightler
- Contact:
Re: Get-VBRRestorePoint - what?
What I meant by Get-VBRRestorePoint and agents is that, as far as I understand, agent restore points aren't fully supported (for example, I don't think it will return restore points made by agent for Linux) and I have to admit I've seen quite a number of issues with agent restore points not showing up in various cases so it's not completely surprising to me that this is the place where you are seeing issues. Admittedly, I don't have this issue in my lab setup right now, and I haven't seen them in my U4 testing, so I'm hopeful these were just bugs with the agent support (overall agent support in Powershell was very minimal in U3/U3a).
My experience with issues where Powershell returns more restore points than are visible in the GUI is that there are entries in the database that are not being filtered out.
I have to admit the cmdlets for handling files on tape are probably good examples, but they've also been deprecated for quite a while and the demand to replace them has been very minimal compared to many other cmdlets which have been the focus of work over the last few years. But your point is well taken.
I'll clean up the script and get it posted tomorrow.
My experience with issues where Powershell returns more restore points than are visible in the GUI is that there are entries in the database that are not being filtered out.
I have to admit the cmdlets for handling files on tape are probably good examples, but they've also been deprecated for quite a while and the demand to replace them has been very minimal compared to many other cmdlets which have been the focus of work over the last few years. But your point is well taken.
I'll clean up the script and get it posted tomorrow.
-
- Expert
- Posts: 203
- Liked: 34 times
- Joined: Jul 26, 2012 8:04 pm
- Full Name: Erik Kisner
- Contact:
Re: Get-VBRRestorePoint - what?
If you want, you can just PM it to me directly - I'm perfectly happy to put the leg work in, I spend most of my day working in powershell so it shouldn't be an issue.
And I do agree, file level stuff generally isn't looked at much. The use-cases I have for cmdlets like those are niche at best. Sometimes I get creative, like making a visual representation of tape backup coverage, plotting a stacked bar chart (since MS charting stuff is a bit limited) with date along X to to show visually what my coverage looks like. It was surprisingly helpful at noting an anomaly a few times because it gave me an "at-a-glance" view of all the backups with all the granularity I could want.
And I do agree, file level stuff generally isn't looked at much. The use-cases I have for cmdlets like those are niche at best. Sometimes I get creative, like making a visual representation of tape backup coverage, plotting a stacked bar chart (since MS charting stuff is a bit limited) with date along X to to show visually what my coverage looks like. It was surprisingly helpful at noting an anomaly a few times because it gave me an "at-a-glance" view of all the backups with all the granularity I could want.
Who is online
Users browsing this forum: Semrush [Bot] and 9 guests