wake-up-neo.com

So ändern Sie das Azure RM-Standardabonnement

ASM hatte die Möglichkeit, das Standardabonnement mit dem Parameter -Default (und jetzt veraltet) zu ändern

Select-AzureSubscription -Default

aber die ARM Version 

Select-AzureRMSubscription 

hat den Parameter -Default nicht.

Wie kann ich das Standard-Abonnement ARM ändern? Es ist sehr ärgerlich, dass mein Standard ein Abonnement ist, das ich nie benutze. 

Zur Klarstellung bearbeiten : Wenn ich das Standardabonnement ändern sage, meine ich das Standardabonnement, mit dem Sie bei jeder neuen PowerShell-Sitzung verbunden sind.

26
Mikee

Schritt 1: Get-AzureRmSubscription  

Es werden alle Ihre Abonnements aufgelistet.

Schritt 2: Select-AzureRmSubscription -SubscriptionId xxxxx-xxxxx-xxxxxx-xxxx  

Die SubscriptionID finden Sie in der Ausgabe von Get-AzureRmSubscription. Sie können auch SubscriptionName verwenden.

Schritt 3: (Get-AzureRmContext). Subscription  

Bestätigen Sie, dass Sie das richtige Abonnement ausgewählt haben.

26

Ich glaube nicht, dass es einen Weg gibt, aber für mich habe ich meinem powershell Profil folgendes hinzugefügt:

Login-AzureRmAccount -SubscriptionName "My Subscription"

Anpassen von PowerShell Profil

13
4c74356b41

Entsprechend Ihrer Anforderung habe ich den folgenden Befehl getestet, um mein Abonnement auf meiner Seite zu ändern, und ich konnte das Abonnement ändern.

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

Hier ist mein Test, man könnte sich darauf beziehen.

Hinweis: Sie können den Befehl in diesem offiziellen document über Azure Resource Manager-Cmdlets finden.

6
Bruce Chen

Dies ist jetzt mit Azure PowerShell Version 5 behoben.

Enable-AzureRmContextAutosave

Wenn Sie diesen Befehl ausführen, wird für jede neue Azure PowerShell-Sitzung standardmäßig der letzte mit der Option festgelegte Kontext verwendet 

Set-AzureRMContext 

befehl

4
Mark Arnott

Zwei nicht behandelte Szenarien sind, wenn Sie bereits über ein PowerShell-Profil verfügen, das Sie bearbeiten möchten, und wenn Sie das PowerShell-Profil für PowerShell ISE ändern möchten. 

Sie können Ihr Abonnement in ARM am einfachsten einrichten, indem Sie Ihr PowerShell-Profil als 4c74356b41 points verwenden. 

Verwenden Sie $Profile | Format-List, um den Pfad zu Ihren PowerShell-Profilen zu finden. 

Das Windows PowerShell-Profil befindet sich normalerweise in ..\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Das PowerShell-ISE-Profil befindet sich normalerweise in ..\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1

Bei fehlendem Code verwenden Sie New-Item -path $profile -type file –force im ISE- oder PowerShell-Fenster, um eine leere Datei zu erstellen.

Wenn Sie alle PowerShell-Profildateien mit ihrem Pfad auflisten möchten, fügen Sie den -Force-Schalter $Profile | Format-List -Force hinzu.

Wenn Sie ein Microsoft-Konto verwenden, z. B. [email protected], fügen Sie dies der .ps1-Datei Login-AzureRmAccount -TenantId "Tenant ID" -SubscriptionId "Subscription ID" hinzu. Sie können mit Get-AzureRmSubscription | Format-List eine Liste aller Abonnement- und Mandanten-IDs erhalten.

Sie können auch die Antwort von APowerShell verwenden. Ich möchte den Parameter Subscription Name nicht verwenden. Es ist nicht ungewöhnlich, dass sich der Subname ändert, wenn Sie mehrere Subs haben. Die SubID und die TenantID werden nicht geändert.

Wenn Sie sich mit einem Arbeitskonto wie "[email protected]" anmelden, können Sie die gesamte Anmeldung und die Abonnementauswahl mit einem solchen Eintrag automatisieren.

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

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

Wenn Sie nur den Parameter -SubscriptionId verwenden, können Sie Anmeldefehler erhalten, wenn das Konto mehreren Azure-Abonnements hinzugefügt wurde. Daher ist es wichtig, auch -TenantId zu verwenden.

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

Ich habe die gleiche Herausforderung - es scheint kein Cmdlet im AzureRM-Modul dafür zu geben [version 4.2.0]:

Get-Command set-*subscription* -Module AzureRM

Abonnementobjekte, die von Get-AzureSubscription (Azure-Modul) zurückgegeben werden, unterscheiden sich offensichtlich von denen, die von GetAzureRmSubscription zurückgegeben werden - dh es gibt keine IsDefault -Eigenschaft auf den ARM-Objekten.

Nach der Denkweise von 4c74356b41 können Sie eine weniger "störende" Zeile in Ihr Profil einfügen:

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