2017-08-17 130 views
1

Azure中的PowerShell V2。*在VSTS能夠執行Azure中的PowerShell啓動AzureAutomationRunbook沒有默認訂閱已被指定

Get-AzureRmResourceGroup 

成功並返回正確的結果......好!這有希望證明,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 ******** 

我不知道我需要執行什麼,因爲上一個命令已經選擇了訂閱。任何線索?

回答

0

所以,這是事情。此時,PowerShell有兩個Azure模塊。有Azure和AzureRM。 Azure模塊尋址「經典」模型資源,而AzureRM模塊與ARM(Azure資源管理)資源一起使用。他們每個人或多或少地彼此獨立運作,在這裏和那裏有小的重疊。這裏的關鍵是,以*-AzureRM*開頭的任何內容都與AzureRM模塊相關。這些cmdlet使用來自Add-AzureRMAccount cmdlet和Set-AzureRMContext(其中Select-AzureRMSubscription是別名)的登錄信息。如果您正在運行的命令未以'*-AzureRM'開頭,那麼很可能需要通過Add-AzureAccount cmdlet登錄到經典模塊才能執行該命令,或者如果您已經完成該命令,則可以簡單地指定您要使用Select-AzureSubscription cmdlet處理的訂閱。

最有可能的解決方法:仔細檢查一下,這是一本Classic Classic手冊。如果不說經典,嘗試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。

+0

謝謝 Start-AzureRmAutomationRunbook -AutomationAccountName「Contoso17」-Name「Runbk01」-ResourceGroupName「ResourceGroup01」已運行 –

相關問題