如何使用Powershell管理多个AzureRM帐户

时间:2016-01-13 13:17:42

标签: powershell azure azure-resource-manager

我尝试使用Login-AzureRmAccount和Add-AzureRmAccount登录我的Azure帐户。我有两个,很容易通过Add-AzureAccount添加它们,并使用Select-Azuresubscription管理活动和默认的。

每次执行Add-AzureRmAccount时都使用RM cmdlet,它会覆盖以前经过身份验证的cmdlet。这使我很难在私人帐户和公司帐户之间切换。

有没有解决方法? 我正在使用PowerShell库更新Azure和AzureRM模块并使用最新的模块。

2 个答案:

答案 0 :(得分:1)

官方的方法是做这样的事情

$profile1 = Login-AzureRmAccount 
$profile2 = Login-AzureRmAccount

Select-AzureRmProfile -Profile $profile2

然后,您可以使用

将配置文件保存到磁盘
Save-AzureRmProfile -Profile $profile1 -Path e:\ps\profile1.json 

然后可以使用

加载
Select-AzureRmProfile -Path e:\ps\profile1.json 

我个人的方法是创建一个模块,该模块为profiled,profile2等作为参数提供cmdlet。然后它会下载并解密凭据并将其提供给Add-AzureRMAccount(这样我可以使用来自各个位置的相同凭证文件)

答案 1 :(得分:1)

使用 Login-AzureRMAccout 分别登录两个帐户。然后使用 Get-AzureRmSubscription 检查订阅信息并记下两个TenantIds。

要在私人帐户和公司帐户之间切换,您可以使用

指定TenantId参数
 $loadersubscription = Get-AzureRmSubscription -SubscriptionName $YourSubscriptionName -TenantId $YourAssociatedSubscriptionTenantId