etiketleri Azure PowerShell ile uygulama

Bu makalede kaynakları, kaynak gruplarını ve abonelikleri etiketlemek için Azure PowerShell nasıl kullanılacağı açıklanmaktadır. Etiket önerileri ve sınırlamaları için bkz. Azure kaynaklarınızı ve yönetim hiyerarşinizi düzenlemek için etiketleri kullanma.

Etiketleri uygulama

Azure PowerShell, etiketleri uygulamak için iki komut sunar: New-AzTag ve Update-AzTag. Modül 1.12.0 veya sonraki bir sürümüne sahip Az.Resources olmanız gerekir. sürümünüzü ile Get-InstalledModule -Name Az.Resourcesde kontrol edebilirsiniz. Bu modülü yükleyebilir veya 3.6.1 veya sonraki Azure PowerShell sürümünü yükleyebilirsiniz.

kaynak New-AzTag , kaynak grubu veya abonelik üzerindeki tüm etiketlerin yerini alır. komutunu çağırdığınızda, etiketlemek istediğiniz varlığın kaynak kimliğini geçirin.

Aşağıdaki örnek bir depolama hesabına bir etiket kümesi uygular:

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

Komut tamamlandığında kaynağın iki etiketi olduğuna dikkat edin.

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

Komutu yeniden çalıştırırsanız ancak bu kez farklı etiketlerle karşılaşırsanız, önceki etiketlerin kaybolduğuna dikkat edin.

$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

Zaten etiketleri olan bir kaynağa etiket eklemek için kullanın Update-AzTag. parametresini -Operation olarak Mergeayarlayın.

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

Mevcut etiketlerin iki yeni etiketin eklenmesiyle büyüdüğünü fark edin.

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

Her etiket adının yalnızca bir değeri olabilir. Bir etiket için yeni bir değer sağlarsanız, birleştirme işlemini kullansanız bile eski değerin yerini alır. Aşağıdaki örnek, etiketi Normal'denYeşil'e değiştirirStatus.

$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

parametresini -OperationReplaceolarak ayarladığınızda, yeni etiket kümesi mevcut etiketlerin yerini alır.

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

Kaynakta yalnızca yeni etiketler kalır.

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

Aynı komutlar kaynak grupları veya aboneliklerle de çalışır. Bunları etiketlemek istediğiniz kaynak grubunun veya aboneliğin tanımlayıcısına geçirin.

Kaynak grubuna yeni bir etiket kümesi eklemek için şunu kullanın:

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

Bir kaynak grubunun etiketlerini güncelleştirmek için şunu kullanın:

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

Aboneliğe yeni bir etiket kümesi eklemek için şunu kullanın:

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

Aboneliğin etiketlerini güncelleştirmek için şunu kullanın:

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

Bir kaynak grubunda aynı ada sahip birden fazla kaynağınız olabilir. Bu durumda, her kaynağı aşağıdaki komutlarla ayarlayabilirsiniz:

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

Etiketleri listeleme

Bir kaynağın, kaynak grubunun veya aboneliğin etiketlerini almak için Get-AzTag komutunu kullanın ve varlığın kaynak kimliğini geçirin.

Bir kaynağın etiketlerini görmek için şunu kullanın:

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

Bir kaynak grubunun etiketlerini görmek için şunu kullanın:

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

Aboneliğin etiketlerini görmek için şunu kullanın:

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

Etikete göre listele

Belirli bir etiket adına ve değerine sahip kaynakları almak için şunu kullanın:

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

Herhangi bir etiket değerine sahip belirli bir etiket adına sahip kaynakları almak için şunu kullanın:

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

Belirli bir etiket adına ve değerine sahip kaynak gruplarını almak için şunu kullanın:

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

Etiketleri kaldırma

Belirli etiketleri kaldırmak için kullanın Update-AzTag ve olarak Deleteayarlayın-Operation. Silmek istediğiniz etiketlerin kaynak kimliklerini geçirin.

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

Belirtilen etiketler kaldırılır.

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

Tüm etiketleri kaldırmak için Remove-AzTag komutunu kullanın.

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

Sonraki adımlar