VMware Virtual Appliances (VA) that are built from either VMware or from our 3rd party eco-system will typically include useful metadata about the solution including name, version, vendor and other details.
Using the vSphere UI, you can locate this information when selecting a VM under Configure->Settings->vApp Options and below is an example for a vCenter Server Appliance (VCSA).
Note: If you deploy a VA directly to an ESXi host, these VA properties will not be available as the vApp capability is a vCenter Server feature.
I recently had an inquiry from a customer with over 10K+ VMs that was looking to identify this information and obviously, using the vSphere UI would be a non-starter and was looking for a way to automate this.
With the vSphere API, you can also easily retrieve this information which is available within the vAppConfig object which includes other useful pieces of information including appliance configurations used during the deployment. To retrieve the high level product information, you can use the ProductInfo property and to demonstrate this, below is a small PowerCLI snippet that uses the vSphere API to extract this property:
$vms = Get-View -ViewType VirtualMachine -Property Name,Config.VAppConfig.Product foreach ($vm in $vms | where {$_.Config -ne $null -and $_.Config.VAppConfig.Product.Vendor -ne ""}) { $vm.Name $vm.Config.VAppConfig.Product[0] }
Here is a screenshot of what the output will look like:
Thanks for the comment!