Create variables to store the location and resource group
names.
$location= "local"
$ResourceGroupName = "myResourceGroup"
New-AzureRmResourceGroup
-Name $ResourceGroupName
-Location $location
Create variables to
store the storage account name and the storage account SKU information
$StorageAccountName
= "mystorageaccount"
$SkuName = "Standard_LRS"
Create a new storage account
$StorageAccount
= New-AzureRMStorageAccount -Location $location
-ResourceGroupName $ResourceGroupName -Type $SkuName
-Name $StorageAccountName
Set-AzureRmCurrentStorageAccount
-StorageAccountName $storageAccountName
-ResourceGroupName $resourceGroupName
Create a subnet configuration
$subnetConfig
= New-AzureRmVirtualNetworkSubnetConfig -Name mySubnet
-AddressPrefix 192.168.1.0/24
Create a virtual network
$vnet
= New-AzureRmVirtualNetwork -ResourceGroupName $ResourceGroupName
-Location $location -Name MyVnet
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
Create a public IP
address and specify a DNS name
$pip
= New-AzureRmPublicIpAddress -ResourceGroupName $ResourceGroupName
-Location $location -AllocationMethod Static
-IdleTimeoutInMinutes 4 `
-Name "mypublicdns$(Get-Random)"
Create an inbound
network security group rule for port 3389
$nsgRuleRDP
= New-AzureRmNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleRDP
-Protocol Tcp -Direction Inbound
-Priority 1000 -SourceAddressPrefix *
-SourcePortRange * -DestinationAddressPrefix *
-DestinationPortRange 3389 `
-Access Allow
Create an inbound
network security group rule for port 80
$nsgRuleWeb
= New-AzureRmNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleWWW
-Protocol Tcp -Direction Inbound
-Priority 1001 -SourceAddressPrefix *
-SourcePortRange * -DestinationAddressPrefix *
-DestinationPortRange 80 `
-Access Allow
Create a network security group
$nsg
= New-AzureRmNetworkSecurityGroup -ResourceGroupName $ResourceGroupName
-Location $location -Name myNetworkSecurityGroup
-SecurityRules $nsgRuleRDP,$nsgRuleWeb
Create a virtual network
card and associate it with public IP address and NSG
$nic
= New-AzureRmNetworkInterface -Name myNic
-ResourceGroupName $ResourceGroupName -Location $location
-SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id
-NetworkSecurityGroupId $nsg.Id
Define a credential
object to store the username and password for the VM
$UserName='demouser'
$Password='Password@123'| ConvertTo-SecureString -Force -AsPlainText
$Credential=New-Object PSCredential($UserName,$Password)
Create the VM configuration object
$VmName
= "VirtualMachinelatest"
$VmSize = "Standard_A1"
$VirtualMachine = New-AzureRmVMConfig -VMName $VmName
-VMSize $VmSize
$VirtualMachine
= Set-AzureRmVMOperatingSystem -VM $VirtualMachine
-Windows -ComputerName "MainComputer"
-Credential $Credential -ProvisionVMAgent
$VirtualMachine
= Set-AzureRmVMSourceImage -VM $VirtualMachine
-PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer"
-Skus "2016-Datacenter" `
-Version "latest"
Sets the operating
system disk properties on a VM.
$VirtualMachine
= Set-AzureRmVMOSDisk -VM $VirtualMachine
-CreateOption FromImage | Set-AzureRmVMBootDiagnostics
-ResourceGroupName $ResourceGroupName
-StorageAccountName $StorageAccountName -Enable |`
Add-AzureRmVMNetworkInterface -Id $nic.Id
Create the VM.
New-AzureRmVM
-ResourceGroupName $ResourceGroupName
-Location $location `
-VM $VirtualMachine
Connect to the VM
Get-AzureRmPublicIpAddress
`
-ResourceGroupName $ResourceGroupName | Select IpAddress
RDP to VM
mstsc
/v <publicIpAddress>
#Install
IIS via PowerShell
Install-WindowsFeature
-name Web-Server -IncludeManagementTools
Delete the VM
Remove-AzureRmResourceGroup
`
-Name $ResourceGroupName
No comments:
Post a Comment