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 関数がこのように機能しなくなったという経験をした人はいますか? さらに重要なことは、それを回避する方法を見つけましたか?

更新 - 詳細情報

さまざまな azure アカウントでいくつかのボックスを試してみましたが、同じ結果が得られたようです。途中でリダイレクトされた有効な認証トークンが返され(それが問題かどうかはわかりません)、インデックスが範囲外でした。

私は次のバリエーションでこれを行いました:

PS:3 Azure モジュール: 0.8.6 PS:3 Azure モジュール: 0.8.7 PS:4 Azure モジュール: 0.8.6 PS:4 Azure モジュール: 0.8.7

Add-AzureAccount フローとバージョン情報

4

4 に答える 4

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 に答える