Azure powershell Select-AzureSubscription - error: the subscription name doesn't exist
I've just installed the latest powershell 1.1 and am following this blog entry to add reverse DNS to an existing Linux VM that I am running
https://azure.microsoft.com/en-us/blog/announcing-reverse-dns-for-azure-cloud-services/
I was able to log in and run Get-AzureRmSubscription to see my subscriptions:
SubscriptionName : Visual Studio Premium with MSDN
SubscriptionId : XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
TenantId : XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
SubscriptionName : Visual Studio Enterprise with MSDN
SubscriptionId : XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
TenantId : XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
If I try to run the Set-AzureService command, an error message tells me I need to set a default subscription
I've tried
Select-AzureSubscription -Default 'Visual Studio Enterprise with MSDN'
Select-AzureSubscription -Default "Visual Studio Enterprise with MSDN"
Select-AzureSubscription -Default 'Visual Studio Premium with MSDN'
Select-AzureSubscription -Default "Visual Studio Premium with MSDN"
I've even tried just running Select-AzureSubscription and then entering the subscription name when prompted, with no quotes, single quotes, and double quotes, and haven't been able to get this to work.
I keep getting an error saying something like "The subscription name 'Visual Studio Enterprise with MSDN' doesn't exist".
I've also tried doing this using "Select-AzureSubscription -SubscriptionID" with the subscription IDs listed, with similar results.
What am I doing wrong?
Solution 1:
If you are using Resource Manager, the correct cmdlet is:
Get-AzureRmSubscription –SubscriptionName "<name>" | Select-AzureRmSubscription
or just use -SubscriptionId instead of -SubscriptionName.
Select-AzureSubscription is to be used to manage classic resources. To make it work you also have to add classic credentials using:
Add-AzureAccount
Solution 2:
The problem you're having is that the 'default' parameter is depreciated.
if you run
Select-AzureSubscription -SubscriptionName "Visual Studio Premium with MSDN" `
-Default "Visual Studio Premium with MSDN"
You get -
WARNING: Current and Default parameters have been deprecated. Select-AzureSubscription will always update the Default Subscription
If you just run
Select-AzureSubscription -SubscriptionName "Visual Studio Premium with MSDN"
You should get the result you're looking for.
Solution 3:
-
Connect-AzureRmAccount
then login to Azure as normal - Run the command cmdlet
Get-AzureRmSubscription –SubscriptionName "<name>" | Select-AzureRmSubscription
(see answer by @Bruno Faria)