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"