Announcing a new login experience with Azure PowerShell and Azure CLI

Announcing a new login experience with Azure PowerShell and Azure CLI

“You never get a second chance to make a first impression” said Will Rogers, this also applies to the Azure CLI and Azure PowerShell with the first command to execute. After hearing from our customers, our team spent the last few months improving the first experience of the Azure client tools.

The new experience prioritizes access to usable information and shorter path to selecting your subscription.

Why a better interface?

We constantly aggregate and monitor the information we collect via GitHub, surveys and direct interviews to understand our customer’s main pain point. Last year, we determined that the login experience with our command line tools was an important source of dissatisfaction and decided to address it.

We started by interviewing several customers with different profiles and based in several geographies to understand the type of issues that they were facing when login in to Azure using Azure CLI or Azure PowerShell.

This investigation revealed that the growing use of multiple tenants and subscriptions by our customers does not work well anymore with the initial design of the login flow. Today, after logging in, many customers are unsure which subscription/tenant they are using and must take extra steps to ensure they are targeting the right environment. To avoid confusion about the tenant and subscription used, some of our users refer to an offline list of the the IDs to use.

In the past, we implemented patches to minimize the effects of the multiplication of Azure contexts, like setting your default login subscription but we never looked at the interactive experience.

The new experience that we are revealing in preview is the result of the collaboration of user researchers, designers, developers, and product managers, we hope that you will like it.

Please share your feedback with the following form: https://aka.ms/azloginfeedback

If you encounter any issue, please create a GitHub issue:

Improvements

Provide actionable information about available subscriptions

With the current practice, users needed extra commands to be able to select their subscription:

  • Azure PowerShell: ‘Get-AzContext -ListAvailable’

Connect-AzAccount

  • Azure CLI: ‘az account list’

The new practice provides the following information:

  1. Available subscriptions are displayed in alphabetical order during the login process.

  2. Subscription name, subscription id and tenant domain name are provided for each subscription so that customers can manage multiple subscriptions in further steps.

  3. Each combination is easily identifiable with an id.

Connect-AzAccount new experience

az login - new experience

Shorter Path to subscription selection

Currently customers must switch subscription by using extra command after login like Set-AzContext or Select-AzContext with Azure PowerShell or az account set --subscription $subscriptionId with Azure CLI.

Set-AzContext

With our new approach, we reduced the number of steps:

  1. Customers can select the subscription to use by typing its number during the login process without extra commands.

  2. The last used subscription will be identified with a star (*) in a different color and be the default selection in subsequent logins.

Select Tenant and subscription

Connect-AzAccount new with sub selection

az cli - new experience - step 2

Getting started

Azure PowerShell

Follow the instructions below to test the new interactive subscription selection in login experience with Azure PowerShell:

# 1.  Install Az.Accounts module with public preview features
Install-Module -Name Az.Accounts -RequiredVersion 2.18.0-preview -AllowPrerelease

# 2. Login to Azure
Connect-AzAccount

Azure CLI

Follow the instructions below to test the new interactive subscription selection in login experience with Azure CLI.

Instructions for Windows

  1. Download the zip file located here: https://aka.ms/AApydwn

  2. Install Azure CLI following the steps indicated on this page: https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-windows?tabs=zip

  3. From the location where the zip file has been extracted run

& ./bin/az.cmd

Instructions for MacOs or Linux

Pre-requisite: Ensure that you have Python runtime installed.

Installation steps

mkdir azure-cli-edge-build
cd azure-cli-edge-build
git clone https://github.com/Azure/azure-cli --branch login --depth 1
python3 -m venv env
. env/bin/activate
pip install azdev
azdev setup -c
az login

Uninstallation

rm -r azure-cli-edge-build