Använda taggar med Azure PowerShell

I den här artikeln beskrivs hur du använder Azure PowerShell för att tagga resurser, resursgrupper och prenumerationer. Taggrekommendationer och begränsningar finns i Använda taggar för att organisera dina Azure-resurser och hanteringshierarki.

Använda taggar

Azure PowerShell erbjuder två kommandon för att tillämpa taggar: New-AzTag och Update-AzTag. Du måste ha modulen Az.Resources 1.12.0 eller senare. Du kan kontrollera din version med Get-InstalledModule -Name Az.Resources. Du kan installera modulen eller installera Azure PowerShell version 3.6.1 eller senare.

New-AzTag ersätter alla taggar för resursen, resursgruppen eller prenumerationen. När du anropar kommandot skickar du resurs-ID:t för den entitet som du vill tagga.

I följande exempel tillämpas en uppsättning taggar på ett lagringskonto:

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

När kommandot har slutförts ser du att resursen har två taggar.

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

Om du kör kommandot igen, men den här gången med olika taggar, ser du att de tidigare taggarna försvinner.

$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

Om du vill lägga till taggar till en resurs som redan har taggar använder du Update-AzTag. Ange parametern -Operation till Merge.

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

Observera att de befintliga taggarna växer med tillägg av de två nya taggarna.

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

Varje taggnamn kan bara ha ett värde. Om du anger ett nytt värde för en tagg ersätts det gamla värdet även om du använder sammanslagningsåtgärden. I följande exempel ändras taggen Status från Normal till Grön.

$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

När du anger parametern -Operation till Replaceersätter den nya uppsättningen taggar de befintliga taggarna.

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

Endast de nya taggarna finns kvar på resursen.

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

Samma kommandon fungerar också med resursgrupper eller prenumerationer. Skicka dem i identifieraren för den resursgrupp eller prenumeration som du vill tagga.

Om du vill lägga till en ny uppsättning taggar i en resursgrupp använder du:

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

Om du vill uppdatera taggarna för en resursgrupp använder du:

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

Om du vill lägga till en ny uppsättning taggar i en prenumeration använder du:

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

Om du vill uppdatera taggarna för en prenumeration använder du:

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

Du kan ha fler än en resurs med samma namn i en resursgrupp. I så fall kan du ange varje resurs med följande kommandon:

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

Visa en lista över taggar

Om du vill hämta taggarna för en resurs, resursgrupp eller prenumeration använder du kommandot Get-AzTag och skickar resurs-ID :t för entiteten.

Om du vill se taggarna för en resurs använder du:

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

Om du vill se taggarna för en resursgrupp använder du:

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

Om du vill se taggarna för en prenumeration använder du:

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

Lista efter tagg

Om du vill hämta resurser som har ett specifikt taggnamn och värde använder du:

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

Om du vill hämta resurser som har ett specifikt taggnamn med valfritt taggvärde använder du:

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

Om du vill hämta resursgrupper som har ett specifikt taggnamn och värde använder du:

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

Ta bort taggar

Om du vill ta bort specifika taggar använder Update-AzTag du och anger -Operation till Delete. Skicka resurs-ID:t för de taggar som du vill ta bort.

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

De angivna taggarna tas bort.

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

Om du vill ta bort alla taggar använder du kommandot Remove-AzTag .

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

Nästa steg