2016-03-04 91 views
0

我在Azure中有三個訂閱帳戶,並且正在使用java爲遠程應用程序執行PowerShell命令。如何使用PowerShell處理Azure訂閱中的多個租戶

我的PowerShell版本:

Major Minor Build Revision 
----- ----- ----- -------- 
4  0  -1  -1 

我有以下問題:

  1. 我需要能夠同時在PowerShell中從Java上 不同Azure的帳戶工作。
  2. Select-AzureSubscription命令將該帳戶設置爲默認和當前。但是,如果我在Select-AzureSubscription上使用-Default,它會顯示-Default已被棄用。
  3. 選擇訂閱後,我需要所有命令之後到 工作在選定的訂閱。

我應該如何維護這些以在不同的訂閱上同時工作?

回答

3

由於沒有指定安裝的Azure PowerShell模塊的版本,因此我會首先建議確保您具有最新版本,這些版本可在http://aka.ms/webpi-azps處獲得。

管理這些多環境前進(新方法)的方式是使用Azure配置文件。例如(使用虛擬名稱),

# Create a profile 
Login-AzureRmAccount -SubscriptionId "[subscription id (GUID)]" -TenantId "adatum.onmicrosoft.com" 
Save-AzureRmProfile -Path "C:\adatum" # Use a name meaningful to you. 

# Create another profile 
Login-AzureRmAccount -SubscriptionId "[subscription id (GUID)]" -TenantId "contoso.com" 
Save-AzureRmProfile -Path "C:\contoso" # Use a name meaningful to you. 

# Create another profile 
Login-AzureRmAccount -SubscriptionId "[subscription id (GUID)]" -TenantId "fabrikam.com" 
Save-AzureRmProfile -Path "C:\fabrikam" # Use a name meaningful to you. 

然後,選擇要用於會話的配置文件。例如,

Select-AzureRmProfile -Path "C:\contoso" 
# Do work (invoke commands) on the Contoso tenant. 

Select-AzureRmProfile -Path "C:\adatum" 
# Do work (invoke commands) on the Adatum tenant. 

等等...

0

@hari, 根據你的描述,我不知道什麼是你想要使用PowerShell來管理IT服務。爲了更好地開發PowerShell腳本,我建議你可以安裝PowerShell ISE

如果你想使用服務管理API來管理你的服務,你可以按照這個方法來設置你的訂閱。

PS C:\Users\user> Add-AzureAccount 

PS C:\Users\user> $subscriptionList=Get-AzureSubscription | fl SubscriptionName,SubscriptionId,IsDefault,IsCurrent 

PS C:\Users\user> $subscriptionList 
PS C:\Users\user> function DoAction($subscriptionID){ $subscriptionID} 

PS C:\Users\user> function SubscriptionList($subscriptionList){ for($i=0;$i -lt $subscriptionList.Length;$i++){DoAction($subscriptionList[$i].SubscriptionId);$subscriptionList[$i].SubscriptionId}} 

PS C:\Users\user> SubscriptionList -subscriptionList $subscriptionList 

如果你要管理的Azure的資源組,我推薦你使用蔚藍ARM模塊到處理器的操作@Rick在以前的帖子說。你可以編寫函數來執行你的邏輯。我建議你參考這個文件:http://azurefabric.com/powershell-1-0-and-arm-tenants-and-subscriptions/