What is the Azure CLI?
The Azure Command-Line Interface (CLI) is a cross-platform command-line tool to connect to Azure and execute administrative commands on Azure resources. It allows the execution of commands through a terminal using interactive command-line prompts or a script.
For interactive use, you first launch a shell such as cmd.exe on Windows, or Bash on Linux or macOS, and then issue a command at the shell prompt. To automate repetitive tasks, you assemble the CLI commands into a shell script using the script syntax of your chosen shell, and then you execute the script.
You can install the Azure CLI locally on Linux, macOS, or Windows computers. It can also be used from a browser through the Azure Cloud Shell or run from inside a Docker container.
Current Version
The current version of the Azure CLI is 2.66.0. For information about the latest release, see the release notes. To find your installed version and see if you need to update, run az version.
Authentication
Azure CLI supports several authentication methods. For detailed information about authenticating to Azure from the Azure CLI, see Sign in with Azure CLI.
Command reference design
The Azure CLI syntax follows a simple reference name
- command
- parameter
- parameter value
pattern. For example, switching between subscriptions is often a common task. Here's the syntax.
az account set --subscription "my subscription name"
Another common use of the Azure CLI is managing role assignments.
az role assignment create --assignee servicePrincipalName --role Reader --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
az role assignment delete --assignee userSign-inName --role Contributor
For more information on managing subscriptions, see Manage subscriptions with Azure CLI. See Create an Azure service principal with the Azure CLI for an in-depth tutorial on managing service principals and role assignments.
PowerShell syntax comparison
Choose the right command-line tool explains the difference between tools
and environments
with an emphasis on the Azure CLI and Azure PowerShell. It also gives many side-by-side command comparisons. Here are two examples:
Command | Azure CLI | Azure PowerShell |
---|---|---|
Create Resource Group | az group create --name <ResourceGroupName> --location eastus | New-AzResourceGroup -Name <ResourceGroupName> -Location eastus |
Create Azure Storage Account | az storage account create --name <StorageAccountName> --resource-group <ResourceGroupName> --location eastus --sku Standard_LRS --kind StorageV2 | New-AzStorageAccount -Name <StorageAccountName> -ResourceGroupName <ResourceGroupName> -Location eastus -SkuName Standard_LRS -Kind StorageV2 |
For Azure CLI syntax comparisons between Bash and PowerShell environments, see Learn Azure CLI syntax differences in Bash, PowerShell and Cmd.
Output formats
The Azure CLI uses JSON as its default output format, but offers other formats as described in Output formats for Azure CLI commands. Use the --output
parameter to format Azure CLI command results. Here's an example:
az account list --output table
Set your default output by setting the output
configuration property as described in Azure CLI configuration.
az config set core.output=jsonc
Data collection
Azure CLI collects telemetry data by default. Microsoft aggregates collected data to identify patterns of usage to identify common issues and to improve the experience of Azure CLI. Microsoft Azure CLI doesn't collect any private or personal data. For example, the usage data helps identify issues such as commands with low success and helps prioritize our work.
While we appreciate the insights this data provides, we also understand that not everyone wants to send usage data. You can disable data collection with the az config set core.collect_telemetry=false
command. You can also read our privacy statement to learn more.