Eliminar grupos de recursos de Azure sin recursos

Estoy tratando de encontrar todos los grupos de recursos de Azure RM sin recursos y eliminar esos grupos de recursos con PowerShell. Eliminar usando Portal lleva mucho tiempo. Usando powershell pude lograrlo usando el siguiente código. ¿Hay una mejor manera de lograr esto en powershell?

$allResourceGroups = Get-AzureRmResourceGroup 

$resourceGroupsWithResources = Get-AzureRMResource | Group-Object ResourceGroupName

$allResourceGroups | % {
   $r1 = $_
   [bool]$hasResource = $false
   $resourceGroupsWithResources | % {
      if($r1.ResourceGroupName -eq $_.Name){
        $hasResource = $true
      }
   }
   if($hasResource -eq $false){
      Remove-AzureRmResourceGroup -Name $r1.ResourceGroupName -Force
   }   
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta