Assuming you have Change Tracking and Inventory implemented on your Azure
VM's you can use KQL to search the ConfigurationData table.
ConfigurationData
| where ConfigDataType == "Software"
| summarize arg_max(TimeGenerated, *) by SoftwareName, CurrentVersion
| where Computer =="ContosoVM"
| render table
| summarize by Publisher, SoftwareName