使用powershell 创建Azure VM虚机

Import-Csv -Path "D:\roobomtcn2\csv\vm\vm-logstash.csv" |foreach{
$location = $_.location
$vmName = $_.vmName
$vmSise = $_.size
$storageName = $_.storageName
$imageName = $_.image
$diskSizeInGB = $_.diskSizeInGB
$AvailabilitySetName = $_.aset
$dip = $_.dip
$subnetName = $_.subnetName
$rg = $_.resourceGroup
$vnetName = $_.vnetName
$vnetrg = $_.vnetrg
$diag=$_.diag
$dataVhdUri = $_.datadisks.Split(',')
$vmname = $vmName
 
#指定资源组
$resourceGroup = $rg
 
#查看Subnet的ID
$vnet = Get-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $vnetrg
$subnet01 = Get-AzureRmVirtualNetworkSubnetConfig -Name $subnetName -VirtualNetwork $vnet
 
#创建一个公网IP地址,地址分配方式可以为Dynamic 或者是Static
#$publicIP = New-AzureRmPublicIpAddress -Name hstestprem-ip -ResourceGroupName $resourceGroup -Location "China North" -AllocationMethod Dynamic -IpAddressVersion IPv4 –Force
 
#创建网卡,默认网卡的私网IP为动态分配,如需静态指定,可以在最后加上-PrivateIpAddress <IP>
if(($NIC = Get-AzureRmNetworkInterface -ResourceGroupName $rg -Name $vmName -ErrorAction SilentlyContinue) -eq $null){
$NIC = New-AzureRmNetworkInterface -Name $vmName -ResourceGroupName $rg -Location $location -SubnetId $subnet01.Id -PrivateIpAddress $dip
}
#配置要使用的存储账号以及系统盘名称
$storage = Get-AzureRmStorageAccount -Name $storageName -ResourceGroupName $rg
#可用性集
if(($aset = Get-AzureRmAvailabilitySet -ResourceGroupName $rg -Name $AvailabilitySetName -ErrorAction SilentlyContinue) -eq $null){
$aset = New-AzureRmAvailabilitySet -ResourceGroupName $rg -Name $AvailabilitySetName -Location $location
}
 
#生成虚拟机的配置
$vmconfig = New-AzureRmVMConfig -VMName $vmname -VMSize $vmSise
$osDiskUri = '{0}vhds/{1}.vhd' -f $storage.PrimaryEndpoints.Blob.ToString(),$imageName.ToLower()
$vm = Set-AzureRmVMOSDisk -vm $vmconfig –Name $OSDiskName -VhdUri $osDiskUri -CreateOption attach -Linux
$vm=Set-AzureRmVMBootDiagnostics -VM $vm -Enable -ResourceGroupName $rg -StorageAccountName $diag
$vm = Add-AzureRmVMNetworkInterface -vm $vm -Id $NIC.Id -Primary
#添加数据磁盘
$i = 0
foreach($data in $dataVhdUri){
$datauri="https://" + $storageName + ".blob.core.chinacloudapi.cn/vhds/" + $data + ".vhd"
$vm = Add-AzureRmVMDataDisk -CreateOption Attach -VM $vm -Name $data -Lun $i -VhdUri $datauri
$i++
}
 
#创建虚拟机
New-AzureRmVM -ResourceGroupName $rg -Location $location -VM $vm
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值