2016-12-05 5 views
11

ASMは - デフォルトでデフォルトのサブスクリプションを変更する機能を持っていたサブスクリプション(現在は非推奨)パラメータデフォルトAzureのRMの

Select-AzureSubscription -Default 

しかし

Select-AzureRMSubscription 

にはないARMバージョンを変更する方法-Defaultパラメーターがあります。

どのようにデフォルトのARMサブスクリプションを変更できますか?私のデフォルトは私が使用しないサブスクリプションであることは非常に迷惑です。

説明のために編集:デフォルトのサブスクリプションを変更すると、新しいPowerShellセッションごとに接続するデフォルトのサブスクリプションを意味します。

+0

で設定された最後のコンテキストがデフォルトになりますが、あなたが、すべての更新をこの問題を解決しましたか? –

+0

@Bruceあなたの答えをまだテストする時間がありませんでしたが、デフォルトのサブスクリプションを変更しないと確信しています......次回のログイン時にサブスクリプションの変更が維持されないようにします。 – Mikee

+0

は、Azure PowerShellバージョン5の時点で解消されました。 –

答えて

10

私は方法があるとは思わないが、私のために私は私のプロファイルに以下を追加しました:あなたの条件によるとPowerShellのprofile

6

をカスタマイズする方法

Login-AzureRmAccount -SubscriptionName "My Subscription" 

、I私の側で私のサブスクリプションを変更する次のコマンドをテストし、私はサブスクリプションを変更することができます。ここで

Get-AzureRmSubscription –SubscriptionName "your subscription" | Select-AzureRmSubscription

私のテストで、あなたはそれを参照することができます。

注:あなたはAzureのリソースマネージャのコマンドレットについては、この公式documentでコマンドを見つけることができます。

+2

これは、現在の「セッション」のサブスクリプションのみを変更します。 PowerShellを終了してカムバックすると、Defaultサブスクリプションは変更されません。 – Mikee

-1

あなたはすべてのセッション

6

ステップ1のため、このようなSet-AzureRmContext -SubscriptionName ETOの使用状況を肝炎ます:それはすべてあなたのサブスクリプションを一覧表示しますは、Get-AzureRmSubscription

ステップ2:

SubscriptionIDをゲット-AzureRmSubscriptionの出力で見つけることができ-SubscriptionId XXXXX-XXXXX-XXXXXX-XXXX-AzureRmSubscription選択。 SubscriptionNameを使用することもできます。

ステップ3:(ゲット-AzureRmContext)あなたは右のサブスクリプションを選択している.Subscription

ことを確認します。

0

私は同じ課題を持っている - それのためのAzureRMモジュール内の任意のコマンドレット[version 4.2.0]があるようには思えない。

Get-Command set-*subscription* -Module AzureRM 

のGet-AzureSubscription(アズールモジュール)によって返されるサブスクリプション・オブジェクトが明らかに返されたものとは異なりますGetAzureRmSubscriptionによって - つまり、IsDefaultというARMのプロパティはありません。あなたのプロファイルに以下「妨害」の行を追加することができ4c74356b41の考え方後

:あなたはすでに編集したいPowerShellプロファイルを持っている場合、あなたがしたい場合

$PSDefaultParameterValues["Login-AzureRmAccount:SubscriptionName"] = "my subscriptionName" 
0

カバーされていない2つのシナリオがありますPowerShell ISEのPowerShellプロファイルを変更します。

ARMでサブスクリプションを設定する最も簡単な方法は、PowerShellプロファイルを4c74356b41として指摘することです。

PowerShellプロファイルへのパスを確認するには、$Profile | Format-Listを使用します。

のWindows PowerShellプロファイルは、典型的には.. \ドキュメント\ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1

のPowerShell ISEプロファイルは、典型的には.. \ドキュメント\ WindowsPowerShell \ Microsoft.PowerShellISE_profile.ps1

いずれかが不足している場合は、ISEまたはPowerShellウィンドウのNew-Item -path $profile -type file –forceを使用して空のファイルを作成します。

パスにすべてのPowerShellプロファイルファイルを表示する場合は、-Forceスイッチ$Profile | Format-List -Forceを追加します。

[email protected]などのMicrosoftアカウントを使用している場合は、これを.ps1ファイルLogin-AzureRmAccount -TenantId "Tenant ID" -SubscriptionId "Subscription ID"に追加します。 Get-AzureRmSubscription | Format-Listを使用して、すべてのサブスクリプションIDとテナントIDのリストを取得できます。

APowerShellの回答も使用できますが、サブスクリプション名のパラメータを使用しないことをお勧めします。サブネームが複数あるときにサブネームが変更されることは珍しくなく、SubIDとTenantIDは変更されません。

[email protected]のような職場のアカウントを使用してログインしている場合、このような方法でログインと購読の選択全体を自動化できます。

$AzureAcct = "[email protected]" 
$AzurePwd = ConvertTo-SecureString "[email protected]$w0rd" -AsPlainText -Force 
$AzureCreds = New-Object System.Management.Automation.PSCredential($AzureAcct, $AzurePwd) 

$Login-AzureRmAccount -Credential $AzureCreds -TenantId "Tenant ID" -SubscriptionId "Subscription ID" 

あなただけのアカウントは複数のAzureサブスクリプションに追加されている場合は、ログインエラーを取得することができ、パラメータ-SubscriptionIdを使用するので、同様-TenantIdを使用することが重要である場合。

1

これは、Azure PowerShellバージョン5で解決されました。

Enable-AzureRmContextAutosave 

このコマンドを実行すると、すべての新しいAzureのPowerShellセッションが

Set-AzureRMContext 

コマンド

1
Add-AzureRmAccount -Environment [If Needed] -Subscription "[Add Yours]" -ContextName "Default" 
関連する問題