microsoft management azure azure-resource-manager

management - panel azure login



Cómo cambiar la suscripción predeterminada de Azure RM (8)

De acuerdo con su requerimiento, probé el siguiente comando para cambiar mi suscripción por mi lado y podría cambiar la suscripción.

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

Aquí está mi prueba, podría referirse a ella.

Nota: Puede encontrar el comando en este document oficial sobre los cmdlets de Azure Resource Manager.

ASM tuvo la capacidad de cambiar la suscripción predeterminada con el parámetro -Default (y ahora está en desuso)

Select-AzureSubscription -Default

pero la versión ARM

Select-AzureRMSubscription

No tiene el parámetro -Default.

¿Cómo puedo cambiar la suscripción predeterminada de ARM? Es muy molesto que mi valor predeterminado sea una suscripción que nunca uso.

Editar para aclarar : cuando digo cambiar suscripción predeterminada, me refiero a la suscripción predeterminada a la que está conectado con cada nueva sesión de PowerShell.


Dos escenarios no cubiertos es si ya tiene un perfil de PowerShell que desea editar y si desea cambiar el perfil de PowerShell para PowerShell ISE.

La forma más fácil de configurar su suscripción en ARM es usar su perfil de PowerShell como señala .

Para encontrar la ruta a sus perfiles de PowerShell, use $Profile | Format-List $Profile | Format-List

El perfil de Windows PowerShell suele estar en .. / Documents / WindowsPowerShell / Microsoft.PowerShell_profile.ps1

El perfil ISE de PowerShell suele estar en .. / Documents / WindowsPowerShell / Microsoft.PowerShellISE_profile.ps1

Si falta alguno, use el New-Item -path $profile -type file –force desde la ventana de ISE o PowerShell para crear un archivo vacío.

Si desea enumerar todos los archivos de perfil de PowerShell con su ruta, agregue -Force switch $Profile | Format-List -Force $Profile | Format-List -Force .

Si está utilizando una cuenta de Microsoft, como [email protected], agregue esto al archivo .ps1 Login-AzureRmAccount -TenantId "Tenant ID" -SubscriptionId "Subscription ID" . Puede obtener una lista de todas las ID de suscripción e inquilino utilizando Get-AzureRmSubscription | Format-List Get-AzureRmSubscription | Format-List

También podría usar la respuesta de APowerShell , prefiero no usar el parámetro Nombre de suscripción. No es raro que el subnombre cambie cuando tiene varios subs, el SubID y el TenantID no cambiarán.

Si inicia sesión con una cuenta de trabajo como [email protected], puede automatizar todo el inicio de sesión y la selección de suscripción con algo como esto.

$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 solo utiliza el parámetro -SubscriptionId , puede obtener errores de inicio de sesión si la cuenta se ha agregado a varias suscripciones de Azure, por lo que también es importante usar -TenantId .


Esto ahora se resuelve con Azure PowerShell versión 5.

Enable-AzureRmContextAutosave

Una vez que ejecute este comando, cada nueva sesión de Azure PowerShell se establecerá de manera predeterminada en el último contexto establecido con

Set-AzureRMContext

mando


No creo que haya una forma, pero para mí he agregado lo siguiente a mi perfil de powershell :

Login-AzureRmAccount -SubscriptionName "My Subscription"

Cómo personalizar el profile PowerShell


Paso 1: Get-AzureRmSubscription

Enumerará todas sus suscripciones.

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

El ID de suscripción se puede encontrar en la salida de Get-AzureRmSubscription. También puede utilizar el nombre de suscripción.

Paso 3: (Get-AzureRmContext) .Suscripción

Confirme que ha seleccionado la suscripción correcta.


Tendrá que utilizar un contexto como este Set-AzureRmContext -SubscriptionName para cada sesión


Tengo el mismo desafío: no parece haber ningún cmdlet en el módulo de AzureRM para él [version 4.2.0] :

Get-Command set-*subscription* -Module AzureRM

Los objetos de suscripción devueltos por Get-AzureSubscription (módulo de Azure) son obviamente diferentes de los devueltos por GetAzureRmSubscription, es decir, no hay una propiedad IsDefault en los ARM-ones.

Siguiendo la mentalidad de 4c74356b41 , podría agregar una línea menos "molesta" en su perfil:

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


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