How to forcing Powershell to use new Azure Subscription - powershell

I have two subscription one with old cloud service and other is with new cloud service. I am using Powershell to access my new subscription. I have downloaded latest .publishsettings and set it using Import-AzurePublishSettingsFile. My problem is that I always get the old subscription set and could not figureout how to force powershell to use my new subscription.

Just to clarify, there are two kinds of 'special' subscriptions, the 'current' subscription (which is the subscription used for any command in the current PowerShell session), and the Defaul subscription, which is the subscription used even after the current PowerShell session ends.
using Select-AzureSubscription <subscription-name> will set the current subscription. If you'd like to change the subscription across sessions, use Select-AzureSubscription -Default <subscription name>

With new Powershell commands you would need to set which particular subscription you would want to use. The steps are as below:
Import-AzurePublishSettingsFile yourpublishsettings.publishsettings
Get-AzureSubscription (this will give you the list of subscription)
Select-AzureSubscription _select_subscription_name (this way you can set which particular subscription you want to use)
This should work!!

This answer is for the classic Azure management. If you're on the new ARM then you want to do something like
Login-AzureRmAccount
Get-AzureRmSubscription
Set-AzureRmContext -SubscriptionId blah
where blah is the subscription ID from the second command

Related

Azure Get Certificate in Power Shell

Trying to list all the certificates in my account.
When using Get-AzureCertificate, it complains I need to select default subscription with Select-AzureSubscription.
But no subscription can be selected with Select-AzureSubscription,
I can only select subscription with Select-AzureRmSubscription. But this Get-AzureCertificate needs Select-AzureSubscription.
How do I list all certificates in my Azure with PowerShell?
Did you log in to an ASM subscription? Looks like you have logged in using Add-AzureRMAccount or Login-AzureRMAccount. Use Add-AzureAccount instead.

Azure PowerShell - Selecting Subscription

I need to select my Azure Subscription in Azure PowerShell.
I copy/paste the Subscription ID (to ensure no typos) from the Azure Management Portal, it's a hex-string:
When I run:
Select-AzureSubscription -SubscriptionId '0300...'
I get an error message:
Select-AzureSubscription : The subscription id 0300... doesn't exist.
I know my subscription ID is correctly copied from the settings in Azure Management Portal, I even did a BeyondCompare to make sure.
I'm wondering about security... am I missing something? Do I need to somehow provide my Azure credentials? It wouldn't make sense to just allow anyone to select any Azure subscription, unless the Subscription ID is supposed to be super-secret, like an SSN.
You need to log on to your Azure account first:
To start working with the Azure Service Management cmdlets, first log
on to your Azure account. To log on to your account, run the following
command:
Add-AzureAccount
After logging into Azure, Azure PowerShell creates a context for the
given session. That context contains the Azure PowerShell environment,
account, tenant, and subscription that will be used for all cmdlets
within that session. Now you are ready to use the modules below.
Source: https://learn.microsoft.com/en-us/powershell/azure/install-azure-ps?view=azuresmps-3.7.0

Unable to see subscriptions with Get-AzureSubscription via Azure PowerShell

I am trying to login to Azure AD using PowerShell with a co-administrator account. I use Connect-MsolService and I get in but I can't see any subscriptions when I use Get-AzureSubscription. At the same time, I can login in the portal (both old and new) using that account and I see it there. The issue is I need to do some things that both portals do not let me do.
Is there an issue if I created the subscription using a Microsoft account on outlook.com? Am I missing something?
Just to add to the discussion, if you're not a direct owner of the subscriptions (but have an admin role for the whole or part of the Azure infrastructure) you can use the following cmdlets to get all subscriptions and switch between them:
Get-AzureRmSubscription
Select-AzureRmSubscription -SubscriptionName "subscription_name"
https://learn.microsoft.com/en-us/powershell/module/azurerm.profile/get-azurermsubscription?view=azurermps-5.0.0
This lists the available subscriptions for co-admins and contributors and can be used in Azure resource management scripts if you do not directly own the subscription but have sufficient privileges to access the resources.
Do you get a sign in dialgoue when you run Add-AzureAccount from powershell?
Can you then Get-AzureSubscription after that?
These guides might help in ensuring all the basics work:
https://redmondmag.com/articles/2016/01/25/connect-to-microsoft-azure-with-powershell.aspx
https://azure.microsoft.com/en-gb/documentation/articles/powershell-install-configure/
Update:
What are you trying to do after?
If you want to switch subscriptions, does the following work?:
Switch-AzureMode –Name AzureResourceManager
Get-AzureSubscription
Ref:
https://msdn.microsoft.com/en-us/library/azure/dn931949.aspx

Azure Subscription Cmdlet

I'm trying to manage an Azure SQL Datawarehouse, specifically pause it in the evenings when nobody is using it. I've downloaded, logged in, and can successfully mange other resources using PowerShell ISE. However, when I go to pause the instance it says invalid Resource Group.
When I call Get-AzureRmResourceGroup only a few show up, at least 8 are missing. Everything is visible in the azure portal.
Calling Select-AzureRmSubscription -SubscriptionId xxx (not Select-AzureSubscription -SubscriptionId xxx - note the "RM" in the middle of the correct call) should allow you to specify the appropriate subscription to see the resources you're looking for with Get-AzureRmResourceGroup.
More info on Select-AzureRmSubscription.

Azure Runbook: The subscription named 'xxx' cannot be found

I'm trying to compose a Azure Runbook for starting an Azure Website but keep getting the following two errors
Select-AzureSubscription : The subscription named
'vslaazuresubscription' cannot be found. Use Set-AzureSubscription to
initialize the subscription data.
Start-AzureWebsite : No current subscription has been designated. Use
Select-AzureSubscription -Current to set the
current subscription.
My Runbook is as follows
My Assets are as follows
I was trying to follow the SO Answer here to no avail. I have checked that
I have a subscription by that name
The admin#vslaactivedirectory.onmicrosoft.com exists in active directory configured for the subscription.
Please help. Thanks in advance.
Are you sure "vslaazuresubscription" is the name of your Azure subscription, and that admin#vslaactivedirectory.onmicrosoft.com is configured as an admin of the vslaazuresubscription subscription?
If you run Get-AzureSubscription after Add-AzureAccount, does it output vslaazuresubscription as one of the available subscriptions?