Author Posts

May 15, 2017 at 8:26 am

I'm looking to list down all the software installed in a virtual machine.
I can list down all the virtual machines and then can iterate through it and can display the name of all the virtual machines ( See the code below).

I basically looking to list name and versions of following softwares in all virtual machines if installed:

1) OS name and version
2) MS SQL server name and version
3) MS office edition and version
4) Remote desktop utility version

Thanks in advance:

Disconnect-VIServer * -Force -Confirm:$false
$OutPath = @()
$vcenter = @()
$VMs = @()
$VMName = @()
$vcenter = "vcsa-01a.corp.local"
Connect-VIServer $vcenter
$VMs = Get-VM | Sort-Object Name

ForEach ($VM in $VMs)

$VMName = $VM.Name

Write-Host "VM NAME : " $VMName


May 17, 2017 at 2:27 am

Try querying Win32_Product from them.

May 17, 2017 at 9:05 am

Thankyou for the reply but this will not return installed programs on virtual machines, rather it will return installed programs on host machine.