web-dev-qa-db-fra.com

Comment modifier l'abonnement par défaut Azure RM

ASM avait la possibilité de modifier l'abonnement par défaut avec le paramètre -Default (et maintenant obsolète)

Select-AzureSubscription -Default

mais la version ARM 

Select-AzureRMSubscription 

n'a pas le paramètre -Default.

Comment puis-je changer l'abonnement par défaut ARM? Il est très ennuyant que mon défaut soit un abonnement que je n’utilise jamais. 

Modifier pour clarification : Lorsque je parle de modification de l'abonnement par défaut, je parle de l'abonnement par défaut auquel vous êtes connecté à chaque nouvelle session PowerShell.

26
Mikee

Étape 1: Get-AzureRmSubscription  

Il listera tous vos abonnements.

Étape 2: Sélectionnez-AzureRmSubscription -SubscriptionId xxxxx-xxxxx-xxxxxx-xxxx  

Le SubscriptionID peut être trouvé dans la sortie de Get-AzureRmSubscription. Vous pouvez également utiliser SubscriptionName.

Étape 3: (Get-AzureRmContext) .Subscription  

Confirmez que vous avez sélectionné le bon abonnement.

26
Clavin Fernandes

Je ne pense pas qu'il y ait un moyen, mais pour moi, j'ai ajouté ce qui suit à mon powershell profil:

Login-AzureRmAccount -SubscriptionName "My Subscription"

Comment personnaliser PowerShell profile

13
4c74356b41

Selon vos besoins, j'ai testé la commande suivante pour modifier mon abonnement de mon côté et je pouvais changer l'abonnement.

Get-AzureRmSubscription –SubscriptionName "your subscription" | Select-AzureRmSubscription

Voici mon test, vous pouvez vous y référer.

Remarque: Vous pouvez trouver la commande dans ce document document à propos des applets de commande Azure Resource Manager.

6
Bruce Chen

Ce problème est maintenant résolu avec Azure PowerShell version 5.

Enable-AzureRmContextAutosave

Une fois cette commande exécutée, chaque nouvelle session Azure PowerShell passe par défaut au dernier contexte défini avec le paramètre 

Set-AzureRMContext 

commander

4
Mark Arnott

Deux scénarios non couverts sont si vous avez déjà un profil PowerShell que vous souhaitez modifier et si vous souhaitez modifier le profil PowerShell pour PowerShell ISE. 

Le moyen le plus simple de définir votre abonnement dans ARM consiste à utiliser votre profil PowerShell comme suit: 4c74356b41

Pour trouver le chemin d'accès à vos profils PowerShell, utilisez $Profile | Format-List

Le profil Windows PowerShell est généralement dans ..\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Le profil ISE PowerShell est généralement dans ..\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1

S'il en manque, utilisez New-Item -path $profile -type file –force à partir de la fenêtre ISE ou PowerShell pour créer un fichier vide.

Si vous souhaitez répertorier tous les fichiers de profil PowerShell avec leur chemin, ajoutez le commutateur -Force $Profile | Format-List -Force.

Si vous utilisez un compte Microsoft, tel que [email protected], ajoutez-le au fichier .ps1 Login-AzureRmAccount -TenantId "Tenant ID" -SubscriptionId "Subscription ID". Vous pouvez obtenir une liste de tous les identifiants d'abonnement et de locataire à l'aide de Get-AzureRmSubscription | Format-List.

Vous pouvez également utiliser la réponse de APowerShell , je préfère ne pas utiliser le paramètre Nom de l'abonnement. Il n'est pas rare que le nom du sous-nom change lorsque vous avez plusieurs sous-marins. Les identificateurs SubID et TenantID ne changent pas.

Si vous vous connectez à l'aide d'un compte professionnel tel que [email protected], vous pouvez automatiser l'intégralité de la connexion et la sélection de l'abonnement en procédant comme suit.

$AzureAcct = "[email protected]"
$AzurePwd = ConvertTo-SecureString "P@s$w0rd" -AsPlainText -Force
$AzureCreds = New-Object System.Management.Automation.PSCredential($AzureAcct, $AzurePwd)

$Login-AzureRmAccount -Credential $AzureCreds -TenantId "Tenant ID" -SubscriptionId "Subscription ID"

Si vous utilisez uniquement le paramètre -SubscriptionId, vous pouvez obtenir des erreurs de connexion si le compte a été ajouté à plusieurs abonnements Azure. Il est donc important d'utiliser également -TenantId.

1
acruns
Add-AzureRmAccount -Environment [If Needed] -Subscription "[Add Yours]" -ContextName "Default"
1
grefly

J'ai le même défi - il ne semble y avoir aucune applet de commande dans le module AzureRM pour celui-ci [version 4.2.0]:

Get-Command set-*subscription* -Module AzureRM

Les objets d'abonnement renvoyés par Get-AzureSubscription (module Azure) sont évidemment différents de ceux renvoyés par GetAzureRmSubscription. En d'autres termes, il n'existe pas de propriété IsDefault sur les unités ARM.

En suivant l'état d'esprit de 4c74356b41, vous pouvez ajouter une ligne moins "dérangeante" dans votre profil:

$PSDefaultParameterValues["Login-AzureRmAccount:SubscriptionName"] = "my subscriptionName"
0
APowerShell