function/New-DCMVnet.ps1


function New-DCMVnet(){
<#
    .SYNOPSIS
    .DESCRIPTION
    .PARAMETER $p
    .PARAMTERS $s
    .INPUTS
    .OUTPUTS
    .EXAMPLE
 
 
 
 
 
#>


[CmdletBinding()]
param(
       [parameter(Mandatory=$false)]
       [string]$CSVPath 
)
                    


$VS=@(Import-Csv -Path $CSVPath)
Write-Output "`nImporting Vnet's from excel sheet" 
Write-Output "Total number of Vnet's found in excel : $($VS.Count) `n"


$VS| ForEach-Object{
$VnetName=$_.VnetName
$VnetResourceGroupName=$_.VnetResourceGroupName
$VnetLocation=$_.VnetLocation
$VnetAddressPrefix=$_.VnetAddressPrefix
$SubnetName=$_.SubnetName
$SubnetAddressPrefix=$_.SubnetAddressPrefix

$VnetResourceGroup=Get-AzResourceGroup -Name $VnetResourceGroupName -ErrorVariable notPresent -ErrorAction SilentlyContinue
if($notPresent){
Write-Verbose "Resource Group $($VnetResourceGroupName) doesnot exist, Creating New Resource Group"
$VnetResourceGroup=New-AzResourceGroup -Name $VnetResourceGroupName -Location $VnetLocation
Write-Output "Resource Group Provisioning $($VnetResourceGroup.ProvisioningState)"
}
else{
Write-Output "Resource Group $($VnetResourceGroupName) exist"
}

$Subnet = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Parameters = @{
    Name=$VnetName
    ResourceGroupName=$VnetResourceGroupName
    Location=$VnetLocation
    AddressPrefix=$VnetAddressPrefix
    Subnet=$Subnet

}


$Vnet=Get-AzVirtualNetwork -Name $VnetName -ResourceGroupName $VnetResourceGroupName -ErrorVariable NotPresent -ErrorAction SilentlyContinue
if($notPresent){
Write-Output "Creating Virtual Network..."
$VirtualNetwork=New-AzVirtualNetwork @Parameters
Write-Output "Virtual Network Provisioning $($VirtualNetwork.ProvisioningState)"
}
else{
Write-Output "Virtual Network already exist..."

}

}
}