>我用我的个人电子邮件ID创建了一个'免费试用'帐户,这是一个Gmail ID。我收到错误:
Add-AzureRmAccount : 序列不包含任何元素 行:1 字符:1 + Add-AzureRmAccount -Credential $cred + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (:) [Add-AzureRmAccount], AadAuthenticationFailedException + FullQualifiedErrorId : Microsoft.Azure.Commands.Profile.AddAzureRMAccountCommand
我正在运行的代码是
$username = "abc@gmail.com"
$password = "something"
$secpass = $password | ConvertTo-SecureString -AsPlainText -Force
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secpass
Add-AzureRmAccount -Credential $cred
是否有某些类型的帐户/订阅应该像这样登录?
Windows Live ID 凭据不能用于非交互式登录。此错误消息被描述为此问题的一部分,该问题已引发,因为它需要改进。
我认为你要么需要使用Login-AzureRmAccount
以交互方式登录,要么需要创建用于登录的服务主体,根据本指南:https://learn.microsoft.com/en-us/powershell/azure/authenticate-azureps?view=azurermps-4.2.0
使用服务主体登录
服务主体提供了一种创建非交互式的方法 可用于操作资源的帐户。服务主体 类似于可以使用 Azure Active 应用规则的用户帐户 目录。通过向服务授予所需的最低权限 校长,您可以确保您的自动化脚本更加出色 安全。
如果还没有服务主体,请创建一个。
使用服务主体登录:
Login-AzureRmAccount -ServicePrincipal -ApplicationId "http://my-app" -Credential $pscredential -TenantId $tenantid