首页 > 代码库 > Azure PowerShell批量创建Azure虚拟机

Azure PowerShell批量创建Azure虚拟机

在我们工作过程当中,可能会需要创建多台相同配置的虚拟机。我们是不是只能通过Portal 页面一台台创建呢?答案是否定的,我们可以通过Azure PowerShell脚本来批量创建虚拟机。接下来我将介绍通过Powershell来批量创建Azure虚拟机。

以下分割线内的内容是要powershell脚本用来批量创建虚拟机的内容

 

 

---------------------------------------分割线-----------------------------------------------

# 指定订阅名称
$subscriptionName="huangcj 测试";
# 指定用来保存虚拟机VHD的存储
$storageAccount="hcjtest";
# 创建一个数组用来保存虚拟机创建的配置信息
$vms=New-Object System.Collections.ArrayList;
# 获取虚拟机镜像列表
$images=Get-AzureVMImage;
# 获取第43个镜像的名称(Win Server 08 R2)
$imageName=$images[43].ImageName;
# 云服务的名称
$cloudServiceName="hcjtest";
# 设置默认的订阅以及默认订阅关联的存储账号
Select-AzureSubscription –SubscriptionName $subscriptionName –Default
Set-AzureSubscription -SubscriptionName $subscriptionName -CurrentStorageAccountName $storageAccount
# 执行循环,生成虚拟机配置数组,计数从0开始,到19结束,就会创建出Hcjse0,Hcjser1,Hcjser2....Hcjser19这些虚拟机
for($i=0;$i –le 19;$i++)
{
    #Hcjser是创建的虚拟机名称的前缀
    $vmName="Hcjser"+$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 –InstanceSize Small –ImageName $imageName | add-AzureProvisioningConfig -Windows -AdminUsername huangcj -Password 1qaz2wsxE -TimeZone "China Standard Time" –DisableAutomaticUpdates | Set-AzureSubnet -SubnetNames ‘Subnet-1‘;
    # 将配置信息添加到数组中用于最后一步命令
    $vms.add($vm);
}
# 批量创建虚拟机,通过-VMs参数将之前创建好的虚拟机配置数组作为参数,并指定虚拟网络的名称以及地理位置参数和云服务名称
New-AzureVM -Location "China East" –ServiceName $cloudServiceName –VMs $vms -VNetName ‘hcjtestnet‘

--------------------------------分割线------------------------------------------------------

将以上分割线内的内容复制到记事本,修改相关的参数为你自己的实际参数值,保存为.ps1格式的文件。

运行Azure Powershell,然后输入"& " + <刚刚保存的ps1脚本的文件路径(可以直接将脚本拖拽到Powershell界面中>,然后输入回车执行即可,下面是执行效果的截图:

技术分享

执行完成后,我们到Azure Portal管理页面去检查下

技术分享

可以看到已经创建好20台虚拟机。

Azure PowerShell批量创建Azure虚拟机