Partager via


Appliquer des balises avec Azure PowerShell

Cet article explique comment utiliser Azure PowerShell pour baliser des ressources, des groupes de ressources et des abonnements. Pour connaître les recommandations et les limitations des balises, consultez Utiliser des balises pour organiser vos ressources Azure et votre hiérarchie de gestion.

Appliquer des balises

Azure PowerShell propose deux commandes pour appliquer des balises : 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 version 3.6.1 ou 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 de balises à 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 balises.

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

Si vous réexécutez la commande, mais cette fois avec différentes balises, notez que les balises antérieures disparaissent.

$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 balises à une ressource qui a déjà des balises, 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 balises existantes augmentent avec l’ajout des deux nouvelles balises.

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

Chaque nom de balise ne peut avoir qu’une seule valeur. Si vous fournissez une nouvelle valeur pour une balise, elle remplace l’ancienne valeur même si vous utilisez l’opération de fusion. L’exemple suivant modifie la Status balise 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 balises restent sur la ressource.

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

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

Pour ajouter un nouvel ensemble de balises à 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 balises 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 de balises à 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 balises 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 avec les 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 balises 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 balises d’une ressource, utilisez :

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

Pour afficher les balises d’un groupe de ressources, utilisez :

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

Pour afficher les balises d’un abonnement, utilisez :

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

Liste par balise

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 d’étiquette spécifique avec n’importe quelle valeur de balise, 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 balises spécifiées sont supprimées.

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

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

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

Étapes suivantes