4

8 月 4 日,发布了新版本的 Azure powershell 模块 (0.8.7.1)。它能够创建凭据,然后您可以将其传递给 Add-AzureAccount 函数。Add-AzureAccount 允许您拉入一个帐户以在当前 PowerShell 会话中使用。

$userName = "buildmaster@someaccount.onmicrosoft.com"
$securePassword = ConvertTo-SecureString -String "somepassword." -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($userName, $securePassword)

Add-AzureAccount -Credential $cred

这使我可以摆脱弹出窗口或弄乱设置文件。

它似乎停止工作了!Add-AzureAccount(弹出一个窗口)和基于凭据的方式。他们现在返回一个索引超出范围的问题。

Add-AzureAccount : Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
At S:\QA\Azure Scripts\cm-azure-helpers.psm1:1128 char:5
+     Add-AzureAccount
+     ~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Add-AzureAccount], ArgumentOutOfRangeException
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.Profile.AddAzureAccount

使用 Fiddler 深入挖掘表明,对后端服务的 OAuth 调用似乎有效。我得到一个令牌返回。但后来我在过程中间也得到了一个 302,表明页面已经移动。我不知道该重定向在以前是否有效时是否存在。

有没有其他人体验过 Add-AzureAccount 功能只是停止像这样工作?更重要的是——你找到解决办法了吗?

更新 - 更多信息

我现在已经在不同的天蓝色帐户下尝试了几个盒子,似乎有相同的结果。我得到一个返回的有效身份验证令牌,中间有一个重定向(不确定这是否是一个问题),然后索引超出了范围。

我已经通过以下变体做到了这一点:

PS:3 Azure 模块:0.8.6 PS:3 Azure 模块:0.8.7 PS:4 Azure 模块:0.8.6 PS:4 Azure 模块:0.8.7

添加 AzureAccount 流和版本信息

4

4 回答 4

1

如果您进行提琴手跟踪,您应该会在登录调用之后立即看到(PowerShell 传入您的用户名/密码,应该有 1 个或多个对 GET /subscriptions 的调用。

检查响应以查看那里是否有任何可疑之处。就像,它们中的任何一个都返回一个空主体、空数组、带有 id、名称等的订阅。

于 2014-08-27T17:44:25.883 回答
1

我确切地知道是什么导致了我的这个错误,以及我是如何解决它的(我以为我是唯一一个看到过这个错误的人 :))

发生的事情是我不小心在我的帐户中添加了一个虚假/空订阅。这个空订阅已设置为我的“默认”订阅。

运行“get-azuresubscription -default”以查看您的默认订阅是什么。然后,您可以使用“remove-azuresubscription”命令“删除”任何垃圾订阅。

然后,您当然可以使用 PS 为您的“默认”设置新的 Azure 订阅。

实际上,我现在已将此情况报告给 Azure PowerShell 团队,以便在这种情况下获得更好的错误消息。希望这可以解决您的问题,其他错误可能会显示相同的错误消息。

于 2014-08-27T14:19:58.650 回答
0

我最近遇到了类似的问题。对我来说,“修复”是删除 C:\Users[username]AppData\Roaming\Windows Azure Powershell 中的文件(尤其是 WindowsAzureProfile.xml 文件)。下次我运行 Add-AzureAccount 时,创建了必要的文件并且一切正常。

于 2014-08-26T23:39:15.800 回答
0

请用:

Add-AzureRmAccount -SubscriptionId "id";

登录

于 2017-07-25T11:48:50.223 回答