Anwenden von Tags mit Azure PowerShell

Dieser Artikel beschreibt, wie Sie Azure PowerShell zum Markieren von Ressourcen, Ressourcengruppen und Abonnements verwenden. Weitere Informationen zu Tag-Empfehlungen und -Einschränkungen finden Sie unter Verwenden von Tags zur Organisation Ihrer Azure-Ressourcen und der Verwaltungshierarchie.

Anwenden von Tags

Azure PowerShell umfasst zwei Befehle zum Anwenden von Tags: New-AzTag und Update-AzTag. Sie müssen über die Az.Resources Modulversion 1.12.0 oder höher verfügen. Sie können die Version mit Get-InstalledModule -Name Az.Resources überprüfen. Sie können dieses Modul oder die Azure PowerShell-Version 3.6.1 oder höher installieren.

Mit dem Befehl New-AzTag werden alle Tags für die Ressource, die Ressourcengruppe oder das Abonnement ersetzt. Übergeben Sie beim Aufrufen des Befehls die Ressourcen-ID der Entität, die markiert werden soll.

Im folgenden Beispiel wird eine Gruppe von Tags auf ein Speicherkonto angewandt:

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

Beachten Sie, dass die Ressource nach Abschluss des Befehls zwei Tags enthält.

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

Wenn Sie den Befehl erneut ausführen, jedoch dieses Mal mit anderen Tags, werden Sie feststellen, dass die früheren Tags verschwinden.

$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

Um einer Ressource, die bereits Tags enthält, Tags hinzuzufügen, verwenden Sie Update-AzTag. Setzen Sie den -Operation-Parameter auf Merge.

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

Beachten Sie, dass die vorhandenen Tags mit der Ergänzung der beiden neuen Tags wachsen.

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

Jeder Tagname kann nur einen Wert enthalten. Wenn Sie einen neuen Wert für ein Tag angeben, wird der alte Wert auch dann ersetzt, wenn Sie den Zusammenführungsvorgang verwenden. Im folgenden Beispiel wird das Tag Status von Normal in Green geändert.

$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

Wenn Sie den Parameter -Operation auf Replace festlegen, werden die vorhandenen Tags durch die neue Gruppe von Tags ersetzt.

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

Nur die neuen Tags verbleiben in der Ressource.

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

Diese Befehle können auch für Ressourcengruppen und Abonnements verwendet werden. Übergeben Sie den Bezeichner für die Ressourcengruppe oder das Abonnement, die Sie markieren möchten.

Verwenden Sie zum Hinzufügen einer neuen Gruppe von Tags zu einer Ressourcengruppe Folgendes:

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

Verwenden Sie zum Aktualisieren der Tags für eine Ressourcengruppe Folgendes:

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

Verwenden Sie zum Hinzufügen einer neuen Gruppe von Tags zu einem Abonnement Folgendes:

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

Verwenden Sie zum Aktualisieren der Tags für ein Abonnement Folgendes:

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

Eine Ressourcengruppe kann ggf. mehrere Ressourcen mit dem gleichen Namen enthalten. In diesem Fall können Sie die einzelnen Ressourcen jeweils mit den folgenden Befehlen festlegen:

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

Auflisten von Tags

Um die Tags für eine Ressource, eine Ressourcengruppe oder ein Abonnement abzurufen, verwenden Sie den Befehl Get-AzTag, und übergeben Sie die Ressourcen-ID für die Entität.

Verwenden Sie zum Anzeigen der Tags für eine Ressource Folgendes:

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

Verwenden Sie zum Anzeigen der Tags für eine Ressourcengruppe Folgendes:

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

Verwenden Sie zum Anzeigen der Tags für ein Abonnement Folgendes:

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

Auflisten nach Tag

Verwenden Sie zum Abrufen von Ressourcen mit einem bestimmten Tagnamen und -wert Folgendes:

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

Verwenden Sie zum Abrufen von Ressourcen mit einem bestimmten Tagnamen und einem beliebigen Tagwert Folgendes:

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

Verwenden Sie zum Abrufen von Ressourcengruppen mit einem bestimmten Tagnamen und -wert Folgendes:

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

Entfernen von Tags

Um bestimmte Tags zu entfernen, verwenden Sie den Befehl Update-AzTag, und legen Sie -Operation auf Delete fest. Übergeben Sie die Ressourcen-IDs der Tags, die Sie löschen möchten.

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

Die angegebenen Tags werden entfernt.

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

Um alle Tags zu entfernen, verwenden Sie den Befehl Remove-AzTag.

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

Nächste Schritte