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