Azure powershell platform using ARM unmanaged disk mirroring to create a virtual machine


Select-AzureRmSubscription -SubscriptionName "xxxxxxxx" # opt-in environment

 

# Network options

$ myVirtualNetworkResourceGroup = "xxxxxxxx" # virtual network resources 

$ myVirtualNetworkName = "xxxxxxxx" # virtual network

$ myVirtualNetworkSubnetName = "xxxxxxxx" # virtual subnet

$myResourceGroupName = " xxxxxxxx "

$myLocation = " xxxxxxxx "

$myAvailabilitySetName = " xxxxxxxx "

$myNetworkInterfaceName = " xxxxxxxx "

 

$myPublicIpAddressName = " xxxxxxxx "

$myDomainName = " xxxxxxxx "

$ myLoadBalancerFrontendName = "xxxxxxxx" # load balancer front end name

$ myLoadBalancerBackendName = "xxxxxxxx" # Load Balancer backend name

$myLoadBalanceName = " xxxxxxxx "

$myStorageAccountName = " xxxxxxxx "

# $myOSDiskUri = "http://" + $myStorageAccountName + ".blob.core.chinacloudapi.cn/vhds/" + "myOSDisk.vhd"

$myVMName = " xxxxxxxx "

$myVMSize = "Standard_D3_V2"

$ myUsername = "leo" ### custom user name

$ myPassword = "xxxxxxxx" ### virtual machine account password

 

 

# Create a resource group

$myResourceGroup = New-AzureRmResourceGroup -Name $myResourceGroupName -Location $myLocation

 

# Create a set Availability

$myAvailabilitySet = New-AzureRmAvailabilitySet -Location $myLocation -Name $myAvailabilitySetName -ResourceGroupName $myResourceGroupName

 

# Create a storage account

$myStorageAccount = New-AzureRMStorageAccount -Location $myLocation -Name $myStorageAccountName -ResourceGroupName $myResourceGroupName -SkuName Standard_LRS

 

# Create a public IP address

$myPublicIpAddressName = New-AzureRmPublicIpAddress -ResourceGroupName $myResourceGroupName -AllocationMethod Dynamic -Name $myPublicIpAddressName -Location $myLocation -DomainNameLabel $myDomainName

 

# Create a Front End pool

$myLoadBalancerFrontend = New-AzureRmLoadBalancerFrontendIpConfig -Name $myLoadBalancerFrontendName -PublicIpAddress $myPublicIpAddressName

 

# Create a back-end pool

$myLoadBalancerBackend = New-AzureRmLoadBalancerBackendAddressPoolConfig -Name $myLoadBalancerBackendName

 

# Create the load balancing sets

$myLoadBalancer = New-AzureRmLoadBalancer -Location $myLocation -Name $myLoadBalanceName -ResourceGroupName $myResourceGroupName -FrontendIpConfiguration $myLoadBalancerFrontend -BackendAddressPool $myLoadBalancerBackend

 

# New Network Interface

$myVirtualNetwork = Get-AzureRmVirtualNetwork -ResourceGroupName $myVirtualNetworkResourceGroup -Name $myVirtualNetworkName

$myVirtualNetworkSubnet = Get-AzureRmVirtualNetworkSubnetConfig -VirtualNetwork $myVirtualNetwork -Name $myVirtualNetworkSubnetName

$myNetworkInterface = New-AzureRmNetworkInterface -Name $myNetworkInterfaceName -ResourceGroupName  $myResourceGroupName -Location $myLocation -Subnet $myVirtualNetworkSubnet -LoadBalancerBackendAddressPool $myLoadBalancerBackend

 

# Create a landing certificate

$myCred = New-Object System.Management.Automation.PSCredential($myUsername, (ConvertTo-SecureString $myPassword -AsPlainText -Force))

 

# System disk path

$myURL = "http://" + $myStorageAccountName + ".blob.core.chinacloudapi.cn/vhds/" + $myVMName + "myOSDisk.vhd"

 

 

# Virtual machine configuration

$vmConfig = New-AzureRmVMConfig -VMName $myVMName -VMSize $myVMSize -AvailabilitySetId $myAvailabilitySet.Id | `

Set-AzureRmVMOperatingSystem -Windows -ComputerName $myVMName -Credential $myCred | `

Set-AzureRmVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter-zhcn -Version latest | `

Add-AzureRmVMNetworkInterface -Id $myNetworkInterface.Id | `

Set-AzureRmVMOSDisk -CreateOption FromImage -VhdUri $myURL -Windows

 

# Create a virtual machine

$myVM = New-AzureRmVM -ResourceGroupName $myResourceGroupName -Location $myLocation -VM $vmConfig


Guess you like

Origin blog.51cto.com/jiaxiaolei/2422380