Public/Clear-FMTDeployment.ps1

function Clear-FMTDeployment {
    param(
        [parameter(Mandatory)]
        [string] $rg
    )

        if (!$rg) {
            $rgArray = Get-AzResourceGroup | Select-Object resourcegroupname,location | Sort-Object resourcegroupname
            $rg = Build-MenuFromArray -array $rgArray -property resourcegroupname -message "Select the desired resource group"
        }
        
        get-job | Remove-Job -force
        
        Write-Verbose "--> Removing test VMs..." -Verbose
        $cnodeVMs = Get-AzVM -ResourceGroupName $rg | Where-Object {$_.name -match "cnt-" }
        $dnodeVMs = Get-AzVM -ResourceGroupName $rg | Where-Object {$_.name -match "dnt-" } 
        $cnodeVMs.Name
        $dnodeVMs.Name
        pause
        $cnodeVMs | Remove-AzVM -Confirm:0 -Force -asjob | Out-Null
        $dnodeVMs | Remove-AzVM -Confirm:0 -Force -asjob | Out-Null

        # Grab jobs
        $allJobs = get-job  
        # loop to monitor jobs
        while ($allJobs.State -contains "running") {
            Start-Sleep -Seconds 15
            $allJobs = get-job
            write-verbose "Removing Test VMs..." -Verbose
        }

        Write-Verbose "--> Removing test NICs..." -Verbose
        Get-AzNetworkInterface -ResourceGroupName $rg | Where-Object {$_.name -match "cnt-" } | Remove-AzNetworkInterface -Confirm:0 -Force -asjob | Out-Null
        Get-AzNetworkInterface -ResourceGroupName $rg | Where-Object {$_.name -match "dnt-" } | Remove-AzNetworkInterface -Confirm:0 -Force -asjob | Out-Null

        Write-Verbose "--> Removing test DISKs..." -Verbose
        Get-AzDisk -ResourceGroupName $rg | Where-Object {$_.name -match "cnt-" } | Remove-AzDisk -Confirm:0 -Force -asjob | Out-Null
        Get-AzDisk -ResourceGroupName $rg | Where-Object {$_.name -match "dnt-" } | Remove-AzDisk -Confirm:0 -Force -asjob | Out-Null

}