3

次のエラーが表示されます。実際、デフォルトのサブスクリプション名を設定しています。

2015 年 4 月 27 日 10:28:28 AM、エラー: Get-AzureVM: 既定のサブスクリプションが指定されていません。Select-AzureSubscription -Default を使用して、既定のサブスクリプションを設定します。テスト時:9 文字:9 + + CategoryInfo : CloseError: (:) [Get-AzureVM]、ApplicationException + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.GetAzureVMCommand

これが私のコードです:

workflow test
{
     # Initial set up
    $Cred = Get-AutomationPSCredential -Name "******"
    Add-AzureAccount -Credential $Cred
    Select-AzureSubscription -Default -SubscriptionName 'Beebunny'

    $vmName = "MyMachineName"
    Get-AzureVM -servicename $vmName

    Write-output "All done."
}

Select-AzureSubscription -Default 'SubscriptionName' を試してみると、構文が無効であるというエラーがスローされます。

編集: Select-AzureSubscription -SubscriptionName 'SubscriptionName' を Default フラグなしで試しました。

面白いことに、これを Windows から直接 AzurePS で実行すると、問題なく動作します。これは Azure のバグであると約 95% 確信していますが、最初にセカンドオピニオンを得たいと考えていました。

4

2 に答える 2

2

ロードした Azure モジュールのバージョンは何ですか? Automation サービスによって提供される既定のモジュールを使用していますか? また、このサブスクリプションに他のモジュールをインポートしましたか?

資格情報とサブスクリプションを適切な名前に置き換えて、次のコードを使用してクリーンな Runbook を作成してみてください。資格情報を取得して正常に認証できますか?

workflow Test-GetVM
{

    $Cred = Get-AutomationPSCredential -Name 'AdAzureCred'
    if(!$Cred) {
        Throw "Could not find an Automation Credential Asset named. Make sure you have created one in this Automation Account."
    }

    $Account = Add-AzureAccount -Credential $Cred
    if(!$Account) {
        Throw "Could not authenticate to Azure. Make sure the user name and password are correct."
    }

    Select-AzureSubscription -SubscriptionName "Visual Studio Ultimate with MSDN"
    Get-AzureVM
}

更新: Resource Manager モジュールもサブスクリプションにロードされていますか?

于 2015-04-27T18:09:54.617 に答える