Let's automate the manual tasks that have been implemented so far.
First, we need to retrieve the virtual network information and store it in a variable by running the following cmdlet:
$VNet = Get-AzureRmVirtualNetwork -Name PSVNet -ResourceGroupName PacktPub
The same also applies for the NSG, which is performed by running the following cmdlet:
$NSG = Get-AzureRmNetworkSecurityGroup -Name PSNSG -ResourceGroupName PacktPub
Next, we need to create a public IP by running the following cmdlet:
$PIP = New-AzureRmPublicIpAddress -ResourceGroupName PacktPub -Location WestEurope -AllocationMethod Dynamic -Name PacktPubVMPIP
After that, we have to create an NIC for the VM by running the following cmdlet:
$NIC = New-AzureRmNetworkInterface -ResourceGroupName PacktPub -Location WestEurope -Name PacktPubVMNIC -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PIP.Id -NetworkSecurityGroupId $NSG.Id
Now we're done with the VM networking part. The next...