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" } 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 } |