Azure PowerShell Start-AzureAutomationRunbook 未指定默认订阅
Azure PowerShell Start-AzureAutomationRunbook No default subscription has been designated
Azure PowerShell v2.* 在 VSTS 上能够执行
Get-AzureRmResourceGroup
成功 returns 正确的结果...好!这有望证明 VSTS 和 Azure 帐户之间的身份验证按预期工作。
当我尝试以下命令时:
Start-AzureAutomationRunbook -AutomationAccountName "automationaccountname" -Name "RunbookName"
我得到这个:
No default subscription has been designated. Use Select-AzureSubscription -Default <subscriptionName> to set the default subscription.
但是,VSTS 之前已经自动执行了这些命令:
Add-AzureRMAccount -ServicePrincipal -Tenant ******** -Credential System.Management.Automation.PSCredential -EnvironmentName AzureCloud
Select-AzureRMSubscription -SubscriptionId 12345678-1234-1234-1234-1234567890AB -TenantId ********
我不确定我需要执行什么,因为上一个命令已经选择了订阅。有什么线索吗?
事情是这样的。此时有两个适用于 PowerShell 的 Azure 模块。有 Azure 和 AzureRM。 Azure 模块处理 'Classic' 模型资源,而 AzureRM 模块使用 ARM(Azure 资源管理)资源。它们中的每一个都或多或少地彼此独立运作,偶尔会有一些重叠。这里的关键是以 *-AzureRM*
开头的任何内容都与 AzureRM 模块相关。这些 cmdlet 使用来自 Add-AzureRMAccount
cmdlet 和 Set-AzureRMContext
(Select-AzureRMSubscription
是别名)的登录信息。如果您 运行ning 的命令不是以“*-AzureRM
”开头,那么您很可能需要通过 Add-AzureAccount
cmdlet 登录经典模块才能执行命令,或者如果您已经这样做了,您可以使用 Select-AzureSubscription
cmdlet 简单地指定要使用的订阅。
最有可能的解决方法:仔细检查这是否是经典 运行书籍。如果它没有说经典,请尝试使用 AzureRM 命令:
Start-AzureRmAutomationRunbook -AutomationAccountName "automationaccountname" -Name "RunbookName"
如果这不起作用,那么您需要确保您已登录到经典模块,并且可以看到您的订阅:
Get-AzureSubscription -SubscriptionId 12345678-1234-1234-1234-1234567890AB
如果您可以看到订阅,您可以 运行 同样的事情,只需将其通过管道传输到 Select-AzureSubscription
。
Get-AzureSubscription -SubscriptionId 12345678-1234-1234-1234-1234567890AB | Select-AzureSubscription
如果您没有看到列出的订阅,您可以使用 Add-AzureAccount
cmdlet 使用与该订阅关联的帐户登录到 Azure,然后根据需要重复 Get/Select-Subscription
cmdlet。
Azure PowerShell v2.* 在 VSTS 上能够执行
Get-AzureRmResourceGroup
成功 returns 正确的结果...好!这有望证明 VSTS 和 Azure 帐户之间的身份验证按预期工作。
当我尝试以下命令时:
Start-AzureAutomationRunbook -AutomationAccountName "automationaccountname" -Name "RunbookName"
我得到这个:
No default subscription has been designated. Use Select-AzureSubscription -Default <subscriptionName> to set the default subscription.
但是,VSTS 之前已经自动执行了这些命令:
Add-AzureRMAccount -ServicePrincipal -Tenant ******** -Credential System.Management.Automation.PSCredential -EnvironmentName AzureCloud
Select-AzureRMSubscription -SubscriptionId 12345678-1234-1234-1234-1234567890AB -TenantId ********
我不确定我需要执行什么,因为上一个命令已经选择了订阅。有什么线索吗?
事情是这样的。此时有两个适用于 PowerShell 的 Azure 模块。有 Azure 和 AzureRM。 Azure 模块处理 'Classic' 模型资源,而 AzureRM 模块使用 ARM(Azure 资源管理)资源。它们中的每一个都或多或少地彼此独立运作,偶尔会有一些重叠。这里的关键是以 *-AzureRM*
开头的任何内容都与 AzureRM 模块相关。这些 cmdlet 使用来自 Add-AzureRMAccount
cmdlet 和 Set-AzureRMContext
(Select-AzureRMSubscription
是别名)的登录信息。如果您 运行ning 的命令不是以“*-AzureRM
”开头,那么您很可能需要通过 Add-AzureAccount
cmdlet 登录经典模块才能执行命令,或者如果您已经这样做了,您可以使用 Select-AzureSubscription
cmdlet 简单地指定要使用的订阅。
最有可能的解决方法:仔细检查这是否是经典 运行书籍。如果它没有说经典,请尝试使用 AzureRM 命令:
Start-AzureRmAutomationRunbook -AutomationAccountName "automationaccountname" -Name "RunbookName"
如果这不起作用,那么您需要确保您已登录到经典模块,并且可以看到您的订阅:
Get-AzureSubscription -SubscriptionId 12345678-1234-1234-1234-1234567890AB
如果您可以看到订阅,您可以 运行 同样的事情,只需将其通过管道传输到 Select-AzureSubscription
。
Get-AzureSubscription -SubscriptionId 12345678-1234-1234-1234-1234567890AB | Select-AzureSubscription
如果您没有看到列出的订阅,您可以使用 Add-AzureAccount
cmdlet 使用与该订阅关联的帐户登录到 Azure,然后根据需要重复 Get/Select-Subscription
cmdlet。