workload/scripts/Monitoring/01_MMA_Report.ps1 (21 lines of code) (raw):

$subscription = "NameofSubscription" Connect-AzAccount -Subscription $subscription Set-AzContext -Subscription $subscription # Create Report Array $report = @() $reportName = "MMA_VMs.csv" $VMs = Get-AzVM $WindowsVMs = $VMs | Where-Object {$_.StorageProfile.OsDisk.OsType -eq "Windows" } foreach ($VM in $WindowsVMs) { $ReportDetails = "" | Select Name, ResourceGroupName $extension = Get-AzVMExtension -ResourceGroupName $Vm.ResourceGroupName -Name $VM.Name if ($extension.Name -contains "MicrosoftMonitoringAgent") { #Write-Host "Microsoft Monitoring Agent is Installed on" $VM.Name "in the RG:" $VM.ResourceGroupName $ReportDetails.Name = $vm.Name $ReportDetails.ResourceGroupName = $vm.ResourceGroupName $report+=$ReportDetails } } $report | ft -AutoSize Name, ResourceGroupName #Change the path based on your convenience $report | Export-CSV "c:\temp\$reportName" –NoTypeInformation