2017-03-06 1 views
2

Mon compte Azure est associé à deux répertoires: un pour la production et un pour un environnement de test. Actuellement, lorsque je cours Login-AzureRmAccount, il se connecte à l'abonnement de production. Existe-t-il un paramètre que je peux configurer sur le côté Azure RM de sorte que lorsque j'exécute la cmdlet PowerShell Login-AzureRmAccount, il se connecte automatiquement à l'abonnement de test?Modification de l'abonnement par défaut pour Login-AzureRmAccount

Je me rends compte que je pourrais utiliser Select-AzureRmSubscription pour changer l'abonnement, mais je cherche un moyen de l'avoir automatiquement par défaut à mon abonnement préféré sans avoir à exécuter une commande supplémentaire. (En fait, c'est pour être utilisé avec un outil 3ème partie, qui automatise les commandes PowerShell, donc je n'ai aucun moyen d'insérer des paramètres supplémentaires ou Select-AzureRmSubscription appel dans le flux.)

Répondre

1

Nous pouvons utiliser select-AzureSubscription -Default -subscriptionname pour définir d'azur par défaut Abonnement:

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

Ensuite, vous pouvez quitter l'PowerShell et le tester, nous pouvons utiliser

Get-AzureSubscription -Current pour vérifier l'abonnement par défaut.

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 : 
+0

Merci, Jason; Je l'ai fait, mais Get-AzureSubscription -Current renvoie toujours le mauvais abonnement. De plus, je ne suis pas sûr que cela aura un impact sur l'outil tiers que j'utilise (VEEAM)? – Dan

+0

@Dan s'il vous plaît attendez un moment, environ 15mins, puis vérifiez, cela fonctionne pour moi :) –

+0

@Dan désolé pour mon erreur, nous pouvons utiliser select-azuresubscription -default pour définir l'abonnement par défaut, j'avais mis à jour ma réponse, s'il vous plaît vérifier. –

2

Il y a actuellement aucun moyen de modifier l'abonnement par défaut pour ARM contrairement au paramètre de l'ASM -default.

Voici une solution de contournement en utilisant le profil Powershell:

test si vous avez déjà un:

Test-Path $profile 

si Faux, créez un:

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

Ensuite, ajoutez ceci au fichier:

$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" 

- Le paramètre Credential ne fonctionne qu'avec Azure AD tho. Si vous utilisez un compte Microsoft, vous devez le supprimer et vous connecter manuellement à chaque fois.

+0

Merci, Bruno. Mais, comme je l'ai mentionné dans mon post, je n'ai pas vraiment le contrôle sur les commandes qui sont exécutées ici. J'ai besoin d'une solution * côté serveur * (Azure) pour que les applets de commande Powershell fonctionnent sans paramètres supplémentaires. Des idées pour ça? – Dan

+0

Quel outil tiers utilisez-vous? –

+0

La restauration directe de VEEAM vers Azure – Dan