Quick Tip: Listing all IaaS VMs or PaaS Roles on an Azure Virtual Network via PowerShell


When managing Microsoft Azure Virtual Networks via the Azure Management Portal, we can easily see a list of IaaS Virtual Machines and/or PaaS web/worker roles that are connected to a particular virtual network, as shown below.

image
List of resources connected to Azure Virtual Network via Management Portal

Question: How can I determine this same type of list when using PowerShell to manage my Azure subscription?

Answer: Virtual networks are bound to Azure cloud service deployments for IaaS Virtual Machines and PaaS web/worker roles. Use the following PowerShell code snippet to display the list of cloud services, roles and instances that are connected to a particular Azure Virtual Network.

(Get-AzureService |
    Get-AzureDeployment |
    Where-Object `
         -Property VNetName `
         -EQ "enter-vnet-name") |
    %{
         Get-AzureRole `
             -ServiceName $_.ServiceName `
             -InstanceDetails |
         Select-Object `
              -Property ServiceName,
                        InstanceName,
                        RoleName,
                        IPAddress
     }

Skip to main content