【问题标题】:Azure PowerShell automation "no default subscritpion has been designated"Azure PowerShell 自动化“未指定默认订阅”
【发布时间】:2015-07-06 03:43:44
【问题描述】:

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

2015 年 4 月 27 日上午 10:28:28,错误: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'。

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

【问题讨论】:

  • 你试过不带-Default(只带-SubscriptionName 'name')吗?

标签: powershell azure azure-automation


【解决方案1】:

您加载了哪个版本的 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
}

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

【讨论】:

  • 我很想说“这应该是一个评论”,但代码不可能合适。你能edit添加你知道的案例,减少回答中间问题的来回时间吗?
  • 嗨,伊丽莎白,我尝试在工作簿中运行您的脚本,但它抛出“无法对 Azure 进行身份验证”。每次。通过在测试窗格中打印他们的用户名/密码来仔细检查凭据,这是正确的。还有什么其他想法可能引发此错误?
  • 您是否按照本文中的所有步骤:azure.microsoft.com/en-us/documentation/articles/… 确保您使用的凭据设置正确?如果你在管理 ARM 资源,还应该看看azure.microsoft.com/en-us/documentation/articles/…
【解决方案2】:

我遇到了同样的问题,解决方案是执行 Add-AzureAccount,执行请求的登录过程,完成后一切正常。

【讨论】:

  • 如何在 powershell 脚本中做到这一点?你不能在那里弹出 add-azureaccount 框。我正在尝试为 TFS 构建进行设置。
  • 尝试使用 PowerShell ISE。
猜你喜欢
  • 2017-02-07
  • 2018-01-26
  • 2015-10-24
  • 2018-06-14
  • 2017-05-19
  • 2016-11-23
  • 1970-01-01
  • 1970-01-01
  • 2022-11-01
相关资源
最近更新 更多