Login-AzureRmAccount无法使用PSCredential登录Azure

时间:2016-09-23 09:33:13

标签: powershell azure login credentials

我正在尝试从脚本中以非交互方式登录我的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

有人可以帮我解决这个问题吗?

由于

2 个答案:

答案 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

中遇到'$'字符问题

您需要引入转义字符(`)才能保留确切的值。看到差异 -

enter image description here

因此您的代码看起来像这样 -

enter image description here

您可以在PowerShell中查看转义字符 - http://ss64.com/ps/syntax-esc.html