get-vbrbackupsession question

PowerShell script exchange

get-vbrbackupsession question

Veeam Logoby jevao » Wed Aug 12, 2015 8:47 pm

After upgrading to Veeam 8 trying to use “get-vbrbackupsession” to find instance that ran less than 24 hours ago.

Code: Select all
$job = Get-VBRJob | ?{$_.Name -eq “Linux-80”}
$session = get-vbrbackupsession -name $job.name
$session


Searching through the objects, I do not find a record for last night on 8/12/2015.

But I do find a record for last night if I run the following command and look through the objects:

Code: Select all
$session = get-vbrbackupsession
$session

BottleneckManager         : CJobBottleneckManager
Info                      : Veeam.Backup.Model.CBackupSessionInfo
OrigJobName               : Linux-80
EndTime                   : 8/12/2015 2:55:26 AM
CreationTime              : 8/12/2015 1:10:21 AM


Any ideas why “get-vbrbackupsession” would have the instance and “get-vbrbackupsession -name $job.name” would not have it?

Thanks for your help.
jevao
Enthusiast
 
Posts: 29
Liked: 3 times
Joined: Fri Oct 28, 2011 11:38 pm
Full Name: James Collison

Re: get-vbrbackupsession question

Veeam Logoby v.Eremin » Thu Aug 13, 2015 9:25 am

I think it's happened because session might have a different name than a corresponding job. For instance, session name contains additional information regarding job cycle, such as "Job Name (Full)", "Job Name (Retry 1)", etc.

Can you try to get session name and see whether my assumption is correct?

Code: Select all
$Session.name


Thanks.
v.Eremin
Veeam Software
 
Posts: 13255
Liked: 968 times
Joined: Fri Oct 26, 2012 3:28 pm
Full Name: Vladimir Eremin

Re: get-vbrbackupsession question

Veeam Logoby jevao » Thu Aug 13, 2015 11:12 am

Ah, yes, you are right. The name of the vbrbackupsession is now different than the name of the job.

Code: Select all

PS C:\>   $session1 = get-vbrbackupsession

PS C:\> $session1.name | sls 80
Linux-80 (Reverse Incremental)
Linux-80
Linux-80 (Reverse Incremental)
Linux-80
Linux-80 (Retry 1)
Linux-80
Linux-80

PS C:\> $session1.jobname | sls 80
Linux-80
Linux-80
Linux-80
Linux-80
Linux-80
Linux-80
Linux-80

PS C:\> $session1 | ? { $_.name.Startswith("Linux-80")}    # Will include the object:
Name                      : Linux-80 (Reverse Incremental)
JobName                   : Linux-80
CreationTime              : 8/12/2015 1:10:21 AM



This works:

Code: Select all

PS C:\> ######  Wrong ######  $session = get-vbrbackupsession -name $job.name |  ?{$_.CreationTime -ge (Get-Date).addhours(-24)}
PS C:\> $session1 = get-vbrbackupsession
PS C:\> $session2 =  $session1 | where { $_.jobname -eq $job.name }
PS C:\> $session =  $session2 | where { $_.creationtime -ge (Get-Date).addhours(-24)}
PS C:\> $session
Name                      : Linux-80 (Reverse Incremental)
JobName                   : Linux-80
CreationTime              : 8/13/2015 1:10:23 AM



Thanks much!
jevao
Enthusiast
 
Posts: 29
Liked: 3 times
Joined: Fri Oct 28, 2011 11:38 pm
Full Name: James Collison

Re: get-vbrbackupsession question

Veeam Logoby v.Eremin » Thu Aug 13, 2015 11:28 am 1 person likes this post

You can also get the latest job session in a different way. Get a job you want, and, then, use FindLastSession() method.

Code: Select all
(Get-VBRJob -Name "Name of your Job").FindLastSession()


Thanks.
v.Eremin
Veeam Software
 
Posts: 13255
Liked: 968 times
Joined: Fri Oct 26, 2012 3:28 pm
Full Name: Vladimir Eremin


Return to PowerShell



Who is online

Users browsing this forum: quazer and 10 guests