This was a question I received this morning on how to programmatically identify which products have been installed from the VMware vCloud Suite in a given environment. There are a variety of use cases where this information can come in handy such as software audits, information for third party application/integrators or documentation to just name a few. This information is provided through vCenter Server and the vSphere API using the ExtensionManager which is responsible for both VMware and third party solutions.

Within the ExtensionManager, there is a property called extensionList which contains a list of registered extensions. To identify all VMware specific solutions, we can take a look at the extension key property and look for keys that begin with “com.vmware.” (the format should follow Java package naming convention). We can then map the key to the specific solution by looking at the summary property.

Disclaimer: These script are provided for informational/educational purposes only. It should be thoroughly tested before attempting to use in a production environment.

To demonstrate what the keys would look like and their associated product mapping, here is a vSphere SDK for Perl called

This can also be accomplished using the following PowerCLI snippet of code:

$ServiceInstance = get-view ServiceInstance
$EM = Get-View $ServiceInstance.Content.ExtensionManager
$EM.ExtensionList | Where { $_.SolutionManagerInfo } | Select key, @{N=”Description”;E={$_.Description.Summary}} | Format-List

Here is a few VMware solutions and their respective extension keys that I have identified in my lab:

VMware Product Key Notes
vCenter Chargeback vCenter Chargeback
vCenter Operations Manager com.vmware.vcops
vCenter Orchestrator com.vmware.orchestrator.X where X is the UUID of the vCO instance
vCenter Site Recovery Manager com.vmware.vcDR
vCloud Connector com.vmware.vccp
vCloud Director vCloud Director-X where X is the vCD instance ID
vCloud Networking and Security com.vmware.vShieldManager
vSphere Data Protection com.vmware.vdp
vSphere Infrastructure Navigator com.vmware.vadm
vSphere Replication com.vmware.vcHms

Note: Not all VMware products register themselves as an extension in vCenter Server and hence you may not see all solutions.

In addition to just listing the extension key and description for a given solution, you can also retrieve other details such as the vendor, version or the hostname or IP Address of a given solution. Here is a quick snippet of what that information would look like:

Label: vCenter Operations Manager
Summary: vCenter Operations Manager extension
Company: VMware, Inc.
Key: com.vmware.vcops
Server info:
Admin Email: –
Company: VMware, Inc.
Type: com.vmware.vim.viClientScripts

For more details, you can take a look at this blog article here which includes a sample script. If you are interested in building a custom solution and would like to know how to register your extension, please refer to the documentation found here.

Get notification of new blog postings and more by following lamw on Twitter:  @lamw

About the Author

William Lam

William Lam works as a Staff Engineer in VMware R&D and focuses Automation, Integration and Operations. William also runs a personal blog at Previous to VMware, he was a Systems Engineer managing large vSphere installations and UNIX/Linux systems.