Condividi tramite


Applicare tag con Azure PowerShell

Questo articolo descrive come usare Azure PowerShell per contrassegnare risorse, gruppi di risorse e sottoscrizioni. Per indicazioni e limitazioni dei tag, vedere Usare i tag per organizzare le risorse di Azure e la gerarchia di gestione.

Applicare contrassegni

Azure PowerShell offre due comandi per applicare tag: New-AzTag e Update-AzTag. È necessario avere il Az.Resources modulo 1.12.0 o versione successiva. È possibile controllare la versione con Get-InstalledModule -Name Az.Resources. È possibile installare il modulo o installare Azure PowerShell versione 3.6.1 o successiva.

New-AzTag sostituisce tutti i tag nella risorsa, nel gruppo di risorse o nella sottoscrizione. Quando chiami il comando, passa l'ID della risorsa dell'entità che desideri contrassegnare.

L'esempio seguente applica un set di tag a un account di archiviazione:

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

Al termine del comando, nota che la risorsa ha due tag.

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

Se si esegue di nuovo il comando, ma questa volta con tag diversi, si noti che i tag precedenti scompaiono.

$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

Per aggiungere tag a una risorsa che dispone già di tag, usare Update-AzTag. Impostare il parametro -Operation su Merge.

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

Si noti che i tag esistenti aumentano con l'aggiunta dei due nuovi tag.

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

Ogni nome di tag può avere un solo valore. Se si specifica un nuovo valore per un tag, sostituisce il valore precedente anche se si usa l'operazione di unione. Nell'esempio seguente il Status tag viene modificato da Normal a Green.

$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

Quando si imposta il -Operation parametro su Replace, il nuovo set di tag sostituisce i tag esistenti.

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

Solo i nuovi tag rimangono sulla risorsa.

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

Gli stessi comandi funzionano anche con gruppi di risorse o sottoscrizioni. Passarli nell'identificatore del gruppo di risorse o della sottoscrizione da contrassegnare.

Per aggiungere un nuovo set di tag a un gruppo di risorse, usare:

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

Per aggiornare i tag per un gruppo di risorse, usare:

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

Per aggiungere un nuovo set di tag a una sottoscrizione, usare:

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

Per aggiornare i tag per una sottoscrizione, usare:

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

Potrebbe essere presente più di una risorsa con lo stesso nome in un gruppo di risorse. In tal caso, è possibile impostare ogni risorsa con i comandi seguenti:

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

Elencare tag

Per ottenere i tag per una risorsa, un gruppo di risorse o una sottoscrizione, usare il comando Get-AzTag e passare l'ID risorsa dell'entità.

Per visualizzare i tag per una risorsa, usare:

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

Per visualizzare i tag per un gruppo di risorse, usare:

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

Per visualizzare i tag per una sottoscrizione, usare:

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

Elenca per tag

Per ottenere risorse con un nome e un valore di tag specifici, usare:

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

Per ottenere risorse con un nome di tag specifico con qualsiasi valore di tag, usare:

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

Per ottenere gruppi di risorse con un nome e un valore di tag specifici, usare:

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

Rimuovere i tag

Per rimuovere tag specifici, usare Update-AzTag e impostare su -OperationDelete . Passa gli ID delle risorse dei tag da eliminare.

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

I tag specificati vengono rimossi.

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

Per rimuovere tutti i tag, usare il comando Remove-AzTag .

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

Passaggi successivi