$location = "az1" # west europe
##########################
# List All images Offers
##########################
$AllPublishers = Get-AzVMImagePublisher -Location $location
$PublisherInfos =@()
Foreach ($Publisher in $AllPublishers)
{
$PublisherInfos += Get-AzVMImageOffer -Location $location -PublisherName $Publisher.PublisherName -ErrorAction SilentlyContinue
}
##########################
# Select image Offer
##########################
$SelectedOffer = $null
$SelectedOffer = @{}
$PublisherInfos | Out-GridView -Title "Select Offer" -OutputMode Single `
| Foreach-object { $SelectedOffer += @{"PublisherName" = $_.PublisherName; "Offer" = $_.Offer} }
##########################
# List All Image SKUs
##########################
$SelectedSKU = $null
$SelectedSKU = @()
$SelectedOffer | Foreach-object { Get-AzVMImageSku -Location $location -PublisherName $_.PublisherName -Offer $_.Offer }| Out-GridView -Title "Select SKU" -OutputMode Single `
##########################
# List All VM Sizes by region
##########################
Get-AzLocation | Get-AzVMSize | Out-GridView
``