Wie kann ich AZ CLI verwenden, um Azure-Ressourcen zu finden, denen ein bestimmtes Tag fehlt?

Wie kann ich AZ CLI verwenden, um Azure-Ressourcen zu finden, denen ein bestimmtes Tag fehlt?

Ich muss sicherstellen, dass alle unsere Ressourcengruppen ein bestimmtes Tag haben.

Ich weiß, dass ich eine Richtlinie verwenden kann, um sicherzustellen, dass jede erstellte Ressource das Tag hat, aber für vorhandene Ressourcen versuche ich, mithilfe der AZ-CLI eine Abfrage zu erstellen.

Als zusätzliche Herausforderung enthält der Tag in der Mitte seines Namens ein Leerzeichen: Es lautet „Cost Center“ statt „CostCenter“. :-/

Antwort1

Ich würde empfehlen,Azure Resource Graphdafür. Mit Resource Graph können Sie alle Ihre Azure-Ressourcen mithilfe der Sprache Kusto entweder in der CLI oder im Portal abfragen.

Um nach den Namen aller Ressourcengruppen zu suchen, die nicht über das Tag „Kostenstelle“ verfügen, können Sie eine Abfrage wie die folgende ausführen:

ResourceContainers 
| project name, type, tags 
| where type == 'microsoft.resources/subscriptions/resourcegroups' 
| where tags !contains 'Cost Center' 
| project name

Von der CLI aus würde diese Abfrage folgendermaßen aussehen:

az graph query -q "ResourceContainers | project name, type, tags | where type == 'microsoft.resources/subscriptions/resourcegroups' | where tags !contains 'Cost Center' | project name"

verwandte Informationen