Как изменить подписку по умолчанию Azure RM
ASM имела возможность изменить подписку по умолчанию с параметром -Default (и теперь устаревшим)
Select-AzureSubscription -Default
но версия ARM
Select-AzureRMSubscription
не имеет параметра -Default.
Как изменить стандартную ARM-подписку? Очень досадно, что мой дефолт - это подписка, которую я никогда не использую.
Изменить для пояснения: когда я говорю об изменении по умолчанию, я имею в виду подписку по умолчанию, с которой вы подключены, с каждым новым сеансом PowerShell.
Ответы
Ответ 1
Шаг 1: Get-AzureRmSubscription
Он перечислит все ваши подписки.
Шаг 2: Select-AzureRmSubscription -SubscriptionId xxxxx-xxxxx-xxxxxx-xxxx
Идентификатор SubscriptionID можно найти в выводе Get-AzureRmSubscription. Вы также можете использовать SubscriptionName.
Шаг 3: (Get-AzureRmContext). Подписка
Убедитесь, что вы выбрали правильную подписку.
Ответ 2
Я не думаю, что есть способ, но для меня я добавил в свой профиль powershell следующее:
Login-AzureRmAccount -SubscriptionName "My Subscription"
Как настроить профиль PowerShell
Ответ 3
Согласно вашему требованию, я проверил следующую команду, чтобы изменить мою подписку на моей стороне, и я мог бы изменить подписку.
Get-AzureRmSubscription –SubscriptionName "your subscription" | Select-AzureRmSubscription
Вот мой тест, вы можете сослаться на него.
Примечание. В этом официальном документе вы можете найти команду о командах диспетчера ресурсов Azure.
Ответ 4
Теперь это разрешено с помощью Azure PowerShell версии 5.
Enable-AzureRmContextAutosave
После запуска этой команды каждый новый сеанс Azure PowerShell по умолчанию будет устанавливать последний контекст, заданный с помощью
Set-AzureRMContext
команда
Ответ 5
Два сценария, которые не рассматриваются, - это если у вас уже есть профиль PowerShell, который вы хотите изменить, и если вы хотите изменить профиль PowerShell для PowerShell ISE.
Самый простой способ установить подписку в ARM - использовать профиль PowerShell, как указано в 4c74356b41.
Чтобы найти путь к вашим профилям PowerShell, используйте $Profile | Format-List
$Profile | Format-List
.
Профиль Windows PowerShell обычно находится в папке \Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Профиль PowerShell ISE обычно находится в папке \Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1.
Если они отсутствуют, используйте New-Item -path $profile -type file –force
из окна ISE или PowerShell для создания пустого файла.
Если вы хотите перечислить все файлы профиля PowerShell со своим путем, добавьте переключатель -Force $Profile | Format-List -Force
$Profile | Format-List -Force
.
Если вы используете учетную запись Microsoft, например [email protected], добавьте ее в файл.ps1 Login-AzureRmAccount -TenantId "Tenant ID" -SubscriptionId "Subscription ID"
. Вы можете получить список всех Get-AzureRmSubscription | Format-List
и идентификаторов арендаторов с помощью Get-AzureRmSubscription | Format-List
Get-AzureRmSubscription | Format-List
.
Вы также можете использовать ответ APowerShell, я предпочитаю не использовать параметр "Название подписки". Это не редкость для того, чтобы подзадача изменилась, когда у вас есть несколько подсайтов, SubID и TenantID не изменятся.
Если вы регистрируетесь в учетной записи работы, например [email protected], вы можете автоматизировать весь выбор входа и подписки, используя что-то вроде этого.
$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"
Если вы используете только параметр -SubscriptionId
вы можете получить ошибки входа, если учетная запись была добавлена к нескольким подпискам Azure, поэтому важно также использовать -TenantId
.
Ответ 6
Add-AzureRmAccount -Environment [If Needed] -Subscription "[Add Yours]" -ContextName "Default"
Ответ 7
У меня такая же проблема - для модуля AzureRM
для него нет никакого AzureRM
[version 4.2.0]
:
Get-Command set-*subscription* -Module AzureRM
Объекты подписки, возвращаемые Get-AzureSubscription (модуль Azure), явно отличаются от объектов, возвращаемых GetAzureRmSubscription, т.е. Не существует свойства IsDefault для ARM-единиц.
Следуя мышлению 4c74356b41
вы можете добавить менее "тревожную" строку в своем профиле:
$PSDefaultParameterValues["Login-AzureRmAccount:SubscriptionName"] = "my subscriptionName"
Ответ 8
Вы будете использовать контекст, подобный этому Set-AzureRmContext -SubscriptionName
для каждой сессии