Appliquer des étiquettes avec Azure PowerShell

Cet article explique comment utiliser Azure PowerShell pour ajouter des étiquettes à des ressources, des groupes de ressources et des abonnements. Pour obtenir les recommandations et limitations des balises, consultez Utiliser des balises pour organiser vos ressources Azure et votre hiérarchie de gestion.

Appliquer des étiquettes

Azure PowerShell propose deux commandes pour appliquer des étiquettes : New-AzTag et Update-AzTag. Vous devez disposer de la Az.Resources version 1.12.0 du module ou ultérieure. Vous pouvez vérifier votre version avec Get-InstalledModule -Name Az.Resources. Vous pouvez installer ce module ou installer Azure PowerShell 3.6.1 ou version ultérieure.

New-AzTag remplace toutes les étiquettes de la ressource, du groupe de ressources ou de l’abonnement. Lorsque vous appelez la commande, transmettez l’ID de ressource de l’entité que vous souhaitez baliser.

L’exemple suivant applique un ensemble d’étiquettes à un compte de stockage :

$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
New-AzTag -ResourceId $resource.id -Tag $tags

Une fois la commande terminée, notez que la ressource a deux étiquettes.

Properties :
        Name    Value
        ======  =======
        Dept    Finance
        Status  Normal

Si vous réexécutez la commande, mais cette fois avec des étiquettes différentes, vous remarquerez que les étiquettes précédentes sont supprimées.

$tags = @{"Team"="Compliance"; "Environment"="Production"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
New-AzTag -ResourceId $resource.id -Tag $tags
Properties :
        Name         Value
        ===========  ==========
        Environment  Production
        Team         Compliance

Pour ajouter des étiquettes à une ressource qui a déjà des étiquettes, utilisez Update-AzTag. Définissez le paramètre -Operation sur Merge.

$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Merge

Notez que les étiquettes existantes augmentent avec l’ajout des deux nouvelles étiquettes.

Properties :
        Name         Value
        ===========  ==========
        Status       Normal
        Dept         Finance
        Team         Compliance
        Environment  Production

Chaque nom d’étiquette ne peut avoir qu’une seule valeur. Si vous fournissez une nouvelle valeur pour une étiquette, l’ancienne valeur est remplacée même si vous utilisez l’opération de fusion. L’exemple suivant modifie l’étiquette d’état Status de normal en vert.

$tags = @{"Status"="Green"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Merge
Properties :
        Name         Value
        ===========  ==========
        Status       Green
        Dept         Finance
        Team         Compliance
        Environment  Production

Lorsque vous définissez le paramètre -Operation sur Replace, les étiquettes existantes sont remplacées par le nouvel ensemble d’étiquettes.

$tags = @{"Project"="ECommerce"; "CostCenter"="00123"; "Team"="Web"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Replace

Seules les nouvelles étiquettes restent sur la ressource.

Properties :
        Name        Value
        ==========  =========
        CostCenter  00123
        Team        Web
        Project     ECommerce

Les mêmes commandes fonctionnent également avec les groupes de ressources ou les abonnements. Transmettez l’identificateur pour le groupe de ressources ou l’abonnement que vous souhaitez baliser.

Pour ajouter un nouvel ensemble d’étiquettes à un groupe de ressources, utilisez :

$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resourceGroup = Get-AzResourceGroup -Name demoGroup
New-AzTag -ResourceId $resourceGroup.ResourceId -tag $tags

Pour mettre à jour les étiquettes d’un groupe de ressources, utilisez :

$tags = @{"CostCenter"="00123"; "Environment"="Production"}
$resourceGroup = Get-AzResourceGroup -Name demoGroup
Update-AzTag -ResourceId $resourceGroup.ResourceId -Tag $tags -Operation Merge

Pour ajouter un nouvel ensemble d’étiquettes à un abonnement, utilisez :

$tags = @{"CostCenter"="00123"; "Environment"="Dev"}
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
New-AzTag -ResourceId "/subscriptions/$subscription" -Tag $tags

Pour mettre à jour les étiquettes d’un abonnement, utilisez :

$tags = @{"Team"="Web Apps"}
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Update-AzTag -ResourceId "/subscriptions/$subscription" -Tag $tags -Operation Merge

Vous pouvez avoir plusieurs ressources portant le même nom dans un groupe de ressources. Dans ce cas, vous pouvez définir chaque ressource à l’aide des commandes suivantes :

$resource = Get-AzResource -ResourceName sqlDatabase1 -ResourceGroupName examplegroup
$resource | ForEach-Object { Update-AzTag -Tag @{ "Dept"="IT"; "Environment"="Test" } -ResourceId $_.ResourceId -Operation Merge }

Répertorier les balises

Pour obtenir les étiquettes d’une ressource, d’un groupe de ressources ou d’un abonnement, utilisez la commande Get-AzTag et transmettez l’ID de ressource de l’entité.

Pour afficher les étiquettes d’une ressource, utilisez :

$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Get-AzTag -ResourceId $resource.id

Pour voir les étiquettes d’un groupe de ressources, utilisez :

$resourceGroup = Get-AzResourceGroup -Name demoGroup
Get-AzTag -ResourceId $resourceGroup.ResourceId

Pour afficher les étiquettes d’un abonnement, utilisez :

$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Get-AzTag -ResourceId "/subscriptions/$subscription"

Liste par étiquette

Pour obtenir des ressources qui ont un nom et une valeur d’étiquette spécifiques, utilisez :

(Get-AzResource -Tag @{ "CostCenter"="00123"}).Name

Pour obtenir des ressources qui ont un nom et une valeur d’étiquette spécifiques avec une valeur d’étiquette, utilisez :

(Get-AzResource -TagName "Dept").Name

Pour obtenir des groupes de ressources qui ont un nom et une valeur d’étiquette spécifiques, utilisez :

(Get-AzResourceGroup -Tag @{ "CostCenter"="00123" }).ResourceGroupName

Supprimer des étiquettes

Pour supprimer des étiquette spécifiques, utilisez Update-AzTag et définissez -Operation sur Delete. Transmettez les ID de ressource des balises que vous souhaitez supprimer.

$removeTags = @{"Project"="ECommerce"; "Team"="Web"}
$resource = Get-AzResource -Name demostorage -ResourceGroup demoGroup
Update-AzTag -ResourceId $resource.id -Tag $removeTags -Operation Delete

Les étiquettes spécifiées sont supprimées.

Properties :
        Name        Value
        ==========  =====
        CostCenter  00123

Pour supprimer toutes les étiquettes, utilisez la commande Remove-AzTag.

$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Remove-AzTag -ResourceId "/subscriptions/$subscription"

Étapes suivantes