Tags toepassen met Azure PowerShell

In dit artikel wordt beschreven hoe u Azure PowerShell gebruikt om resources, resourcegroepen en abonnementen te taggen. Zie Tags gebruiken om uw Azure-resources en -beheerhiërarchie te organiseren voor aanbevelingen en beperkingen voor tags.

Tags toepassen

Azure PowerShell biedt twee opdrachten om tags toe te passen: New-AzTag en Update-AzTag. U moet de Az.Resources versie van module 1.12.0 of hoger hebben. U kunt uw versie controleren met Get-InstalledModule -Name Az.Resources. U kunt deze module installeren of Azure PowerShell versie 3.6.1 of hoger installeren.

De New-AzTag vervangt alle tags in de resource, resourcegroep of het abonnement. Wanneer u de opdracht aanroept, geeft u de resource-id door van de entiteit die u wilt taggen.

In het volgende voorbeeld wordt een set tags toegepast op een opslagaccount:

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

Wanneer de opdracht is voltooid, ziet u dat de resource twee tags heeft.

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

Als u de opdracht opnieuw uitvoert, maar deze keer met verschillende tags, ziet u dat de eerdere tags verdwijnen.

$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

Als u tags wilt toevoegen aan een resource die al tags bevat, gebruikt u Update-AzTag. Stel de -Operation parameter in op Merge.

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

U ziet dat de bestaande tags groter worden met de toevoeging van de twee nieuwe tags.

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

Elke tagnaam kan slechts één waarde hebben. Als u een nieuwe waarde opgeeft voor een tag, vervangt deze de oude waarde, zelfs als u de samenvoegbewerking gebruikt. In het volgende voorbeeld wordt de Status tag gewijzigd van Normaal in Groen.

$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

Wanneer u de -Operation parameter instelt op Replace, vervangt de nieuwe set tags de bestaande tags.

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

Alleen de nieuwe tags blijven over in de resource.

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

Dezelfde opdrachten werken ook met resourcegroepen of abonnementen. Geef ze door in de id van de resourcegroep of het abonnement dat u wilt taggen.

Als u een nieuwe set tags wilt toevoegen aan een resourcegroep, gebruikt u:

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

Als u de tags voor een resourcegroep wilt bijwerken, gebruikt u:

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

Als u een nieuwe set tags wilt toevoegen aan een abonnement, gebruikt u:

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

Als u de tags voor een abonnement wilt bijwerken, gebruikt u:

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

Mogelijk hebt u meer dan één resource met dezelfde naam in een resourcegroep. In dat geval kunt u elke resource instellen met de volgende opdrachten:

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

Tags weergeven

Als u de tags voor een resource, resourcegroep of abonnement wilt ophalen, gebruikt u de opdracht Get-AzTag en geeft u de resource-id van de entiteit door.

Als u de tags voor een resource wilt zien, gebruikt u:

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

Als u de tags voor een resourcegroep wilt zien, gebruikt u:

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

Als u de tags voor een abonnement wilt zien, gebruikt u:

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

Lijst op label

Als u resources met een specifieke tagnaam en -waarde wilt ophalen, gebruikt u:

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

Als u resources wilt ophalen met een specifieke tagnaam met een tagwaarde, gebruikt u:

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

Als u resourcegroepen wilt ophalen die een specifieke tagnaam en -waarde hebben, gebruikt u:

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

Tags verwijderen

Als u specifieke tags wilt verwijderen, gebruikt Update-AzTag u en stelt u in -Operation op Delete. Geef de resource-id's door van de tags die u wilt verwijderen.

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

De opgegeven tags worden verwijderd.

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

Als u alle tags wilt verwijderen, gebruikt u de opdracht Remove-AzTag .

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

Volgende stappen