It is actually possible to do this via Powershell. The only difference between an object that appears in the "VMs to backup" list vs the "Application Aware Processing" list is the "type" field of the object-in-job object (wow, that's weird to type). If the OIJ object is of type "Include" it will appear in both list in the GUI, while an object of type "VssChild" appears only in the AAIP list because, as it's name implies, it is a considered a child object of the included objects used to override values. When you do this in the GUI from the AAIP screen the object is added immediately with the "VssChild" type set.
However, in Powershell, it is still possible, but you have to add the VM to the job using the standard cmdlet, which temporarily adds it as an "Include" object, but then you change it's "Type" property value to "VssChild". This will keep the object from appearing in the 'VMs to backup" list but the object will still show in the "Application-Aware" list and you can override the AAIP options for this child object.
Here's a crude example:
Code: Select all
$vm = "testvm"
$vmentity = Find-VBRViEntity -Name $vm
$job = Get-VBRJob -Name "Test Job"
# Add the VM entity to the job
Add-VBRViJobObject -Job $job -Entities $vmentity
# Get the job object for the newly added VM
$newoij = Get-VBRJobObject -Job $Job -Name $vm.Name
# Change the job object type from "Include" to "VssChild" and resave the object
$newoij.Info.Type = [Veeam.Backup.Model.CDbObjectInJobInfo+EType]::VssChild
Set-VBRJobObjectVssOptions -Object $newoij -Credentials $cred
Let me know if you have any questions.