ApplicationProcessingEnabled property here serves solely as an indicator. Setting it to another value through .NET reflections is not supposed to do something as you still work on job object level. The other question is that this value doesn't get changed even after Enable/Disable-VBRJobVssIntegration cmdlets are used. I must note here that CBackupJob class with all the underlying properties is quite old and refers to the time, when we used to bind core classes (those with C* prefix) directly to cmdlets. It made returned types more informative and customizable through methods, but now lead to numerous bugs, when some properties/methods get refactored, moved elsewhere or wouldn't refer to anything if internal logic changes.
Now we use safer patterns with internal .NET namespaces dedicated solely to Powershell and fixed properties inside new classes, so that such things don't happen. We also have plans to redesign old cmdlets and classes step by step, but cannot say anything on ETA.
As for the workaround, when it comes to obtaining VSS integration status on a job level, I would advise to refer to the property below:
Code: Select all
$job = Get-VBRJob -Name 'Backup Job'
$options = Get-VBRJobVSSOptions -Job $job
$options.Enabled
Thanks!