how to export VM details in Azure Resource Manager (ARM)
1. Run the following PowerShell script.
$cred = Get-Credential
(Login-AzureRmAccount -Credential $cred)>0
$Subscriptions = Get-AzureRMSubscription
$vmarray = @()
$i=0
foreach ( $Subscription in $Subscriptions ) {
$SubscriptionId = $Subscription.SubscriptionId
(Login-AzureRmAccount -Credential $cred -subscriptionid $SubscriptionId)>0
(Select-AzureRMSubscription -SubscriptionId $SubscriptionId)>0
$i++
Write-Progress -activity $subscription.SubscriptionName -PercentComplete ($i/$Subscriptions.Count*100)
($rmvms=Get-AzurermVM) > 0
foreach ($vm in $rmvms)
{
$vmstatus = Get-AzurermVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Status
Get-AzurermVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Status
$vmarray += New-Object PSObject -Property @{`
Subscription=$Subscription.SubscriptionName; `
AzureMode="Resource_Manager"; `
Name=$vm.Name; PowerState=(get-culture).TextInfo.ToTitleCase(($vmstatus.statuses)[1].code.split("/")[1]); `
Size=$vm.HardwareProfile.VmSize;
ImageSKU=$vm.StorageProfile.ImageReference.Sku;
OSType=$vm.StorageProfile.OsDisk.OsType;
DiskSizeGB=$vm.StorageProfile.OsDisk.DiskSizeGB}
}
}
# Gridview output
$vmarray | Out-Gridview
And the output would look like the following image. Enjoy.