我正在尝试从脚本中以非交互方式登录我的Azure帐户。 我只是不知道为什么会失败:
$secpasswd = ConvertTo-SecureString "P@$$W0rd" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ("script1234@outlook.com", $secpasswd)
Login-AzureRmAccount -Credential $cred
这是我得到的错误:
Login-AzureRmAccount : Sequence contains no elements
有人可以帮我解决这个问题吗?
由于
答案 0 :(得分:2)
Atf的答案有一点,但是,这不仅仅是问题。我们无法使用Hotmail或Outlook帐户以非交互方式直接登录。您必须使用帐户的域名登录。
查看服务器故障中发布的类似问题:https://serverfault.com/questions/746557/add-azureaccount-unknown-user-type-unknown-user-type-on-azure-automation/746673
提到:
确保凭据资产名称(不是用户名)是一个简单的字符串。 还要确保凭据资产用户名是有效的OrgID用户 (例如:abc@fdgdf.onmicrosoft.com),而不是Microsoft / Live帐户 (joe@gmail.com)。
答案 1 :(得分:0)
您在密码P @ $$ W0rd
中遇到'$'字符问题您需要引入转义字符(`)才能保留确切的值。看到差异 -
因此您的代码看起来像这样 -
您可以在PowerShell中查看转义字符 - http://ss64.com/ps/syntax-esc.html