2016-09-29 37 views
0

Azure Resource Managerを使用してVisual Studio Team Servicesビルドの一部としていくつかのAzure PowerShellコマンドを実行しようとしています。VSTS Azure powershell:デフォルトのサブスクリプションが指定されていません

私に次のエラーが表示されます。

デフォルトのサブスクリプションは指定されていません。デフォルトのサブスクリプションを設定するには、Select-AzureSubscription -Defaultを使用します。

VSTS azure powershell error

のコマンドは、私が実行しようとしている:

$website = Get-AzureWebsite | where {$_.Name -eq 'my-website'} 
Write-Output ("##vso[task.setvariable variable=DeployUrl;]$website.HostNames") 

私はローカルで実行しようとしたとき、私はそれが働いて得るために

Add-AzureAccount 
Select-AzureRmSubscription -SubscriptionName "Visual Studio Premium with MSDN" 

を呼び出す必要があったが、 VSTSビルドでは不可能です。

UPDATE:それは作品で、私は、それがリソースマネージャの代わりに、紺碧のクラシックモードを使用するように設定しました

。私はそれが紺碧の古典的なモードが時代遅れであるため、生産のための実現可能な解決策ではないと思います。

+1

ゲット-AzureWebSiteは、コマンドレットの "クラシック" バージョンですので、古典的なauthnが必要です。 Get-AzureRmWebAppは、リソースマネージャのコマンドレットです。 –

+0

ありがとう!私はそれを受け入れることができるように答えを加えてください。 –

+0

あなたはエディの答えを参照することができます。 –

答えて

4

あなたはAzureのリソースマネージャを使用しているので、以下の事を確認してください:

  1. は「Azureのリソースマネージャ」サービスのエンドポイントが正しく追加されていることを確認します。
  2. bmooreと同様に、「Get-AzureWmsite」コマンドの代わりに「Get-AzureRmWebApp」コマンドを使用します。

私は自分の側でそれをテストしましたが、正しく動作します。

私のPowerShellスクリプト: "紺碧のPowerShellスクリプト" タスクから

$website = Get-AzureRmWebApp | where {$_.Name -eq 'eddieapp0930'} 
Write-Host $website.HostNames 

ラン: enter image description here

3

ご質問ありがとうございます。

あなたはサービスマネージャモード(クラシックモード)を使用している場合は、正しいコマンドレットは次のとおりです。
追加-AzureAccountを
は、Get-AzureSubscriptionを-SubscriptionName「名前」|選択-AzureSubscription

を使用すると、リソースマネージャを使用している場合は、正しいコマンドレットは次のとおりです。
ログイン-AzureRmAccount
のGet-AzureRmSubscription -SubscriptionName "名前" | Select-AzureRmSubscription

、または-SubscriptionNameの代わりに-SubscriptionIdを使用するだけです。 ASMおよびARMについて

詳しい情報は、下記のリンクを参照してください:あなたはまだ疑問を持っている場合は
https://azure.microsoft.com/en-us/documentation/articles/resource-manager-deployment-model/

は、ここに戻ってポストを歓迎します。ありがとう。

+0

同じリリース定義で両方を使うことはできますか?たとえば、いくつかのARMテンプレートを実行する場合は、ASMコマンドレットを使用して 'Publish-AzureWebsiteProject'のようなものを呼び出します。 ASMコマンドレットを呼び出す前にSelect-AzureSubscriptionを呼び出すと、「The subscription id x ... does not exist」という結果になります。 – click2install

関連する問題