تطبيق العلامات باستخدام Azure PowerShell

توضح هذه المقالة كيفية استخدام Azure PowerShell لوضع علامة على الموارد ومجموعات الموارد والاشتراكات. للحصول على توصيات العلامات وقيودها، راجع استخدام العلامات لتنظيم موارد Azure والتسلسل الهرمي للإدارة.

تطبيق العلامات

يقدم Azure PowerShell أمرين لتطبيق العلامات: New-AzTag وUpdate-AzTag. يجب أن يكون لديك الإصدار 1.12.0 من الوحدة النمطية Az.Resources أو إصدار أحدث. يمكنك التحقق من الإصدار الخاص بك من خلالGet-InstalledModule -Name Az.Resources. يمكنك تثبيت هذه الوحدة أو تثبيت Azure PowerShell الإصدار 3.6.1 أو إصدار أحدث.

New-AzTagاستبدال كافة العلامات على المورد أو مجموعة الموارد أو الاشتراك. عند استدعاء الأمر، قم بتمرير معرف المورد للكيان الذي تريد وضع علامة عليه.

يطبق المثال التالي مجموعة من العلامات على حساب تخزين:

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

عند اكتمال الأمر لاحظ أن المورد يضم علامتين.

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

إذا قمت بتشغيل الأمر مرة أخرى، ولكن هذه المرة بعلامات مختلفة، فلاحظ أن العلامات السابقة تختفي.

$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

لإضافة علامات إلى مورد يحتوي على علامات بالفعل، استخدم Update-AzTag. عين -Operation المعلمة إلىMerge

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

لاحظ أن العلامات الموجودة تتزايد مع إضافة العلامتين الجديدتين.

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

يمكن أن يكون لكل اسم علامة قيمة واحدة فقط. إذا قمت بتوفير قيمة جديدة للعلامة، فإنها تحل محل القيمة القديمة حتى إذا كنت تستخدم عملية الدمج. يغير المثال التالي Status العلامة من عادي إلى أخضر.

$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

عند تعيين المعلمة -Operation على Replace، تحل مجموعة العلامات الجديدة محل العلامات الموجودة.

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

تبقى العلامات الجديدة فقط على المورد.

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

تعمل نفس الأوامر أيضًا مع مجموعات الموارد أو الاشتراكات. قم بتمريرها في معرف مجموعة الموارد أو الاشتراك الذي تريد وضع علامة عليه.

لإضافة مجموعة جديدة من العلامات إلى مجموعة موارد، استخدم:

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

لتحديث العلامات لمجموعة موارد، استخدم:

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

لإضافة مجموعة جديدة من العلامات إلى اشتراك، استخدم:

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

لتحديث علامات الاشتراك، استخدم:

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

قد يكون لديك أكثر من مورد واحد بنفس الاسم في مجموعة موارد. في هذه الحالة، يمكنك تعيين كل مورد بالأوامر التالية:

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

قائمة العلامات

للحصول على العلامات لمورد أو مجموعة موارد أو اشتراك، استخدم الأمر Get-AzTag وقم بتمرير معرف المورد للكيان.

للاطلاع على العلامات الخاصة بالموارد، استخدم:

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

للاطلاع على العلامات الخاصة بمجموعة موارد، استخدم:

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

للاطلاع على علامات الاشتراك، استخدم:

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

القائمة حسب العلامة

للحصول على الموارد التي لها اسم علامة وقيمة معينة، استخدم:

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

للحصول على الموارد التي لها اسم علامة محددة مع أي قيمة علامة، استخدم:

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

للحصول على مجموعات الموارد التي لها اسم علامة وقيمة معينة، استخدم:

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

إزالة العلامات

لإزالة علامات معينة، Update-AzTag استخدم -Operation وعين إلى Delete . قم بتمرير معرفات الموارد للعلامات التي تريد حذفها.

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

تتم إزالة العلامات المحددة.

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

لإزالة كافة العلامات، استخدم الأمر Remove-AzTag.

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

الخطوات التالية