Changing default subscription for Login-AzureRmAccount

My Azure account has two directories associated with it -- one for production and one for a testing environment. Currently, when I run Login-AzureRmAccount, it logs into the production subscription. Is there a setting I can configure on the Azure RM side so that when I run the Login-AzureRmAccount PowerShell cmdlet, it automatically logs in to the testing subscription?

I realize I could use Select-AzureRmSubscription to change the subscription, but I'm looking for a way to have it automatically default to my preferred subscription without having to run an additional command. (In fact, this is for use with a 3rd party tool, which automates the PowerShell commands, so I have no way to insert additional parameters or the Select-AzureRmSubscription call into the flow.)

3 Answers

There's currently no way to change default subscription for ARM unlike ASM's -default parameter.

Here's a workaround using Powershell profile:

Test if you have one already:

Test-Path $profile 

if False, create one:

New-Item -path $profile -type file –force 

Then add this to the file:

$azureAccountName ="your username" $azurePassword = ConvertTo-SecureString "your password" -AsPlainText -Force $psCred = New-Object System.Management.Automation.PSCredential($azureAccountName, $azurePassword) Login-AzureRmAccount -Credential $psCred -TenantId "your tenant id" -SubscriptionId "your subscription id" 

-Credential parameter only works with Azure AD tho. If you are using a Microsoft Account you need to remove it and manually login everytime.

3

We can use select-AzureSubscription -Default -subscriptionname to set default azure subscription:

Select-AzureSubscription -SubscriptionName "Visual Studio Enterprise" -Default 

Then you can exit the PowerShell and test it, we can use

Get-AzureSubscription -Current to check the default subscription.

PS C:> Get-AzureSubscription SubscriptionId : 53847abb-xxxx-xxxx-xxxx-0361exxa7b15 SubscriptionName : Visual Studio Ultimate with MSDN Environment : AzureCloud DefaultAccount : [email protected] IsDefault : False IsCurrent : False TenantId : 1fcf418e-xxx-4c99-xxxx-d8e1xxf8737a CurrentStorageAccountName : SubscriptionId : 3b4d41fa-xxxx-xxxx-xxxx-13xx21b3b77d SubscriptionName : Visual Studio Enterprise Environment : AzureCloud DefaultAccount : [email protected] IsDefault : True IsCurrent : True TenantId : 67752319-xxxx-xxxx-xxxx-b820ec2377e0 CurrentStorageAccountName : 
4

After logging into Azure, using e.g. Connect-AzAccount in PowerShell (version 7+), or whichever command you use to login, you can use the Update-AzConfig -DefaultSubscriptionForLogin {} command in PowerShell to update the default subscription so that in the future, it will always choose your specified default subscription.

Example of changing the default subscription:

Update-AzConfig -DefaultSubscriptionForLogin YourSubscriptionNameHere 

You can check to make sure the default was changed by using the command:

az account show --output table 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like