Quickstart: Run your first Resource Graph query using Azure PowerShell
The first step to using Azure Resource Graph is to check that the module for Azure PowerShell is installed. This quickstart walks you through the process of adding the module to your Azure PowerShell installation.
At the end of this process, you'll have added the module to your Azure PowerShell installation of choice and run your first Resource Graph query.
If you don't have an Azure subscription, create a free account before you begin.
This article has been updated to use the new Azure PowerShell Az module. You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. For Az module installation instructions, see Install Azure PowerShell.
Add the Resource Graph module
To enable Azure PowerShell to query Azure Resource Graph, the module must be added. This module can be used with locally installed PowerShell, with Azure Cloud Shell, or with the PowerShell Docker image.
The Azure Resource Graph module requires the following software:
Azure PowerShell 1.0.0 or higher. If it isn't yet installed, follow these instructions.
PowerShellGet 2.0.1 or higher. If it isn't installed or updated, follow these instructions.
Install the module
The Resource Graph module for PowerShell is Az.ResourceGraph.
From an administrative PowerShell prompt, run the following command:
# Install the Resource Graph module from PowerShell Gallery Install-Module -Name Az.ResourceGraph
Validate that the module has been imported and is the correct version (0.7.3):
# Get a list of commands for the imported Az.ResourceGraph module Get-Command -Module 'Az.ResourceGraph' -CommandType 'Cmdlet'
Run your first Resource Graph query
With the Azure PowerShell module added to your environment of choice, it's time to try out a simple Resource Graph query. The query will return the first five Azure resources with the Name and Resource Type of each resource.
Run your first Azure Resource Graph query using the
# Login first with Connect-AzAccount if not using Cloud Shell # Run Azure Resource Graph query Search-AzGraph -Query 'project name, type | limit 5'
As this query example does not provide a sort modifier such as
order by, running this query multiple times is likely to yield a different set of resources per request.
Update the query to
order bythe Name property:
# Run Azure Resource Graph query with 'order by' Search-AzGraph -Query 'project name, type | limit 5 | order by name asc'
Just as with the first query, running this query multiple times is likely to yield a different set of resources per request. The order of the query commands is important. In this example, the
order bycomes after the
limit. This will first limit the query results and then order them.
Update the query to first
order bythe Name property and then
limitto the top five results:
# Run Azure Resource Graph query with `order by` first, then with `limit` Search-AzGraph -Query 'project name, type | order by name asc | limit 5'
When the final query is run several times, assuming that nothing in your environment is changing, the results returned will be consistent and as expected -- ordered by the Name property, but still limited to the top five results.
If the query does not return results from a subscription you already have access to, then note that
Search-AzGraph cmdlet defaults to subscriptions in the default context. To see the list of subscription IDs
which are part of the default context run this
If you wish to search across all the subscriptions you have access to, one can set the PSDefaultParameterValues for
Search-AzGraph cmdlet by running
Clean up resources
If you wish to remove the Resource Graph module from your Azure PowerShell environment, you can do so by using the following command:
# Remove the Resource Graph module from the current session Remove-Module -Name 'Az.ResourceGraph' # Uninstall the Resource Graph module from the environment Uninstall-Module -Name 'Az.ResourceGraph'
This does not delete the module file downloaded earlier. It only removes it from the running PowerShell session.