framework/Resources/Scripts/remove_resource_group.ps1

Param(
    [Parameter(Mandatory)]
    $EnvironmentName
)

if ([string]::IsNullOrEmpty($EnvironmentName)) {
    throw "Environment Name required"
}

function RemoveresourceGroup {
    $resourceGroupName =  Get-AzResourceGroup -ErrorAction Stop  | Where-Object {$_.Tags -and $_.Tags.Contains("EnvironmentName") -and $_.Tags["EnvironmentName"] -eq $EnvironmentName}  | Select-Object -ExpandProperty ResourceGroupName 
      if(-not $resourceGroupName){
        throw "No such environment exists"
    }
    Write-Host "Removing Resources..."
    Remove-AzResourceGroup -Name $resourceGroupName -ErrorAction SilentlyContinue 
}
if (-not (Get-AzContext)) {
    Connect-AzAccount
    if (Get-AzContext) {
        RemoveresourceGroup
    }
}
else {
    RemoveresourceGroup
}