這裡向大家介紹下如何使用powershell批量建立vm虛拟機,本博文中,我打算用powershell批量建立100台VM。
首先,從官網下載下傳頁面,下載下傳并安裝Windows Azure PowerShell:http://www.windowsazure.cn/zh-cn/downloads/#cmd-line-tools
安裝完畢後以管理者身份運作,右鍵點選PowerShell圖示然後選擇以管理者身份運作執行指令Get-AzurePublishSettingsFile-Environment "AzureChinaCloud",通過打開的頁面下載下傳您的WindowsAzure Subscription的釋出配置檔案;(這些在之前的博文中都有較長的描述)

在PowerShell中執行Import-AzurePublishSettingsFile“釋出配置檔案本地存放路徑”
操作成功後,建立一個txt文檔,将下面的代碼拷貝進去(請将高亮的資訊替換為您自己的部署資訊),将字尾名修改為.ps1,例如我們将檔案儲存為vm.ps1
# 指定訂閱名稱
$subscriptionName="Internal-002";
# 指定用來儲存虛拟機VHD的存儲
$storageAccount="danielstorage";
# 建立一個數組用來儲存虛拟機建立的配置資訊
$vms=New-ObjectSystem.Collections.ArrayList;
# 擷取虛拟機鏡像清單
$p_w_picpaths=Get-AzureVMImage;
# 擷取第43個鏡像的名稱(Win Server 08 R2)
$p_w_picpathName=$p_w_picpaths[43].ImageName;
# 雲服務的名稱
$cloudServiceName="DanielVMBatchCreationTest";
# 設定預設的訂閱以及預設訂閱關聯的存儲賬号
Select-AzureSubscription–SubscriptionName$subscriptionName–Default
Set-AzureSubscription-SubscriptionName$subscriptionName-CurrentStorageAccountName$storageAccount
# 執行循環,生成虛拟機配置數組,計數從2開始,到19結束,就會建立出DanBatchDep2,DanBatchDep3,DanBatchDep4....DanBatchDep19這些虛拟機
for($i=1;$i–le19;$i++)
{
#DanBatchDep是建立的虛拟機名稱的字首
$vmName="DanBatchDep"+$i;
# 建立虛拟機的配置資訊(虛拟機名稱,虛拟機大小Small,虛拟機鏡像名稱,使用者名,密碼,虛拟網絡子網名等等(可省略))
# 可選的虛拟機InstanceSize有:ExtraSmall, Small, Medium, Large, ExtraLarge, A5, A6,A7, A8, A9, Basic_A0, Basic_A1, Basic_A2, Basic_A3, Basic_A4,Standard_D1, Standard_D2, Standard_D3, Standard_D4,Standard_D11,Standard_D12, Standard_D13, Standard_D14
$vm=New-AzureVMConfig–Name$vmName–InstanceSizeSmall–ImageName$p_w_picpathName|add-AzureProvisioningConfig-Windows-AdminUsernamedaniel-Password1qaz2wsxE-TimeZone"China Standard Time"–DisableAutomaticUpdates|Set-AzureSubnet-SubnetNames'Subnet-1';
# 将配置資訊添加到數組中用于最後一步指令
$vms.add($vm);
}
# 批量建立虛拟機,通過-VMs參數将之前建立好的虛拟機配置數組作為參數,并指定虛拟網絡的名稱以及地理位置參數和雲服務名稱
New-AzureVM-Location"China East"–ServiceName$cloudServiceName–VMs$vms-VNetName'DanielBatchDeployTest'
儲存完成後,運作Azure Powershell,然後輸入"& " +<剛剛儲存的ps1腳本的檔案路徑(可以直接将腳本拖拽到Powershell界面中>,然後輸入回車執行即可,下面是執行效果的截圖: