Rock
Rock

Reputation: 21

How to filter resources using more than one tag using azure CLI?

I can able to get the resource details by using the tag using the Azure CLI command

az resource list --tag AppID=XXXX --query [].name However, how can filter resources use more than one tag? Could you please help?

Example: az resource list --tag AppID=XXXX, Region=DEV --query [].name

Upvotes: 2

Views: 982

Answers (1)

VenkateshDodda
VenkateshDodda

Reputation: 5546

Based on the above requirement we have created a script using both Azure CLI cmdlets & PowerShell cmdlet to filter the resources using more than one Tag.

Script using PowerShell Cmdlet:

 connect-azaccount
    
    $resource  = Get-AzResource -ResourceGroupName <resourcegroupName> -TagName env -TagValue prod |Select-Object -Property ResourceId
    
    $resourcearray=$resource
    
    foreach ( $resource in $resourcearray){ 
    
    $Tagvalue=(Get-AzTag -ResourceId $resource.ResourceId)
    
     if ($Tagvalue.Properties.TagsProperty.Count -gt 1)
     {
        $Tagvalue.Id -replace "/providers/Microsoft.Resources/tags/default",""
     }
    
    }

Here is the output for reference :

enter image description here

Script using Azure CLI cmdlets:

  $re= az resource list --tag env=prod
    
    $rearray = $re |ConvertFrom-Json
    
    foreach ( $re in $rearray)
    {
      
      $tagcount=$(az tag list --resource-id $re.id --query "properties.tags|length(@)")
      
        if ($tagcount -ge 1)
        {
            $re.id
        }

Here is the output for reference :

enter image description here

Upvotes: 2

Related Questions