In this post we will go over creating VNETs and subnets using PowerShell, we will also be create a script to use a CSV to deploy multiple VNETs / subnets.
Azure PowerShell is a command-line tool that allows you to manage and deploy Azure resources using the PowerShell scripting language.
Azure VNETs provide a secure and isolated network environment within Azure. Subnets allow you to divide a VNET into smaller, logical segments to control network traffic and provide network segregation.
To deploy Azure VNET and subnets using Azure PowerShell, we first either need to create a resource group or use a pre existing one.
We can create a resource group using Az PowerShell
First connect to Azure PowerShell using
Connect-AzAccount
Once connected if there is multiple subscription make sure to select the correct one before creating the resource group or any other resource.
Next we will create the resource group this requires a name and a location.
New-AzResourceGroup -Name 'resource group name' -Location northeurope

Next we can create a VNET and subnet will be using splatting to specifying the parameters.
$vnet = @{
Name = 'vnet name'
ResourceGroupName = 'resource group'
Location = 'northeurope'
AddressPrefix = '172.17.0.0/22'
}
New-AzVirtualNetwork @vnet

Once we have a VNET created we can create the subnets.
$vnet = Get-AzVirtualNetwork -Name "vnet name" -ResourceGroupName "resource group name"
$subnet = @{
Name = 'subnet name'
VirtualNetwork = $vnet
AddressPrefix = '172.17.1.0/24'
}
Add-AzVirtualNetworkSubnetConfig @subnet

If we check the subnet wont be showing under the VNET.

The last step is to set virtual network config using
$vnet | Set-AzVirtualNetwork

Now if we check the subnets we can see the subnet.

Now that we have the command we can use these to create the script to run using a CSV.
First create the CSV file for the script I used the below headings.

Below is the full script I added some error handling incase the VNET doesn’t exist or the subnet has an error when being created.

Below is the scripts running to create two new subnets.

If we check Azure VNET we can see the new subnets.

Below shows the error handling
