I've backed up a number of physical hosts using the Veeam Agent which includes enabling application-aware processing. My intention is to restore these into vCenter using a PowerShell script so that I can restore multiple machines at one time.
It looks like the cmdlet to perform the restore is Start-VBRViComputerInstantRecovery. One of the parameters it prompts for is RestorePoint. If I run Get-VBRRestorePoint, I don't see any of the hosts I've backed up using the above method, however if I use Get-VBRApplicationRestorePoint, I do. Great, or so I thought... I pop one of the machines into a variable but, the Start-VBRViComputerInstantRecovery cmdlet doesn't like what I'm feeding it.
Here's a little snippet of what I'm running:
Code: Select all
$VBRServer = "VeeamServer"
$VBRCreds = Get-Credential
$VIServer = "vCenterServer"
$RestorePoint = Get-VBRApplicationRestorePoint | Where {$_.Name -eq "SERVERNAME"} | Sort Descending | Select -First 1
Start-VBRViComputerInstantRecovery -RestorePoint $RestorePoint -Server $VIServer
I then get this error:
Code: Select all
Start-VBRViComputerInstantRecovery : Cannot bind parameter 'RestorePoint'. Cannot convert the "SERVERNAME" value of type
"Veeam.Backup.PowerShell.Infos.VBRApplicationRestorePoint" to type "Veeam.Backup.Core.COib".
At line:1 char:50
+ ... tart-VBRViComputerInstantRecovery -RestorePoint $RestorePoint -Server ...
+ ~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Start-VBRViComputerInstantRecovery], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Veeam.Backup.PowerShell.Cmdlets.StartVBRViComputerInstant
Recovery