Azure PowerShell自动化“没有指定默认的subscritpion”

时间:2015-04-27 15:32:05

标签: powershell azure azure-automation

我收到以下错误。我实际上是在设置默认订阅名称。

  

2015/4/27 10:28:28 AM,错误:Get-AzureVM:没有默认订阅   已被指定。使用Select-AzureSubscription -Default    设置默认订阅。在测试时:9 char: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'PercriptionName',则会抛出错误,说明语法无效。

编辑:我也尝试过没有默认标志的Select-AzureSubscription -SubscriptionName'SubscriptionName'。

有趣的是,如果我直接从Windows在AzurePS中运行它,它运行得很好。我大约95%肯定这是一个Azure的bug但是想先得到第二个意见。

2 个答案:

答案 0 :(得分:2)

您加载了哪个版本的Azure模块?您使用的是自动化服务提供的默认模块吗?您是否已将此任何其他模块导入此订阅?

尝试使用以下代码创建干净的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
}

更新:您是否也将资源管理器模块加载到订阅中?

答案 1 :(得分:2)

I had the same problem and the solution was execute Add-AzureAccount, do the login process requested and once done all was working.