11
votes

I am trying to set Azure Rm Subscription (Get-AzureRMSubscription) CurrentStorageAccount to a particular arm storage account (Get-AzureRmStorageAccount) and I am not able to find a cmdlet that does that.

With regular old azure cmdlets I am able to do following to set CurrentStorageAccount as

$subscription = Get-AzureSubscription
Set-AzureSubscription -SubscriptionName $subscription.SubscriptionName -CurrentStorageAccountName "somestorageaccount"

Get-AzureSubscription | select * 

This set's it. But I cannot do this inside arm cmdlets.

Another thing that is confusing is that I am using the same subscription eg. Visual Studio Enterprise. And using both arm and regular cmdlets get-azuresubscription I get the same subscription but why is one showing -CurrentStorageAccount and another subscription not showing -CurrentStorageAccount.

4

4 Answers

11
votes

To set the default RM subscription for the current session in PowerShell use

Get-AzureRmSubscription –SubscriptionName "MyFavSubscription" | Select-AzureRmSubscription

and to set the default RM storage context for the current session

Set-AzureRmCurrentStorageAccount –ResourceGroupName "MyFavResourceGroup" `
                                 –StorageAccountName "MyFavStorageAccountName"
2
votes

First, you must set your default subscription.

$SubscriptionName = "MyDefaultSubscription"
Select-AzureSubscription -SubscriptionName $SubscriptionName –Default

In other cases, you can set your default subscription location.

# For example, South Central US
$Location = "South Central US"

Then get your storage account name/s

$StorageAccountName = (Get-AzureStorageAccount)[0].label

Notice the number zero? It indicates the numbering of your storage. The numbering starts with 0. If you use the command Get-AzureStorageAccount, it will list all of your (classic) storage accounts. For that you can choose your desired storage.

Then lastly, set your default storage account.

Set-AzureSubscription -SubscriptionName $SubscriptionName -CurrentStorageAccountName $StorageAccountName
0
votes

Exactly as you said, set-azureRmCurrentStorageAccount -context $Ctx will set your default Storage account to context. I also can't find any articles to get out explanation on this. I think you can try to use Azure CLI to set your default Azure storage account in environment variables.