使用Powershell批量为Azure资源添加Tags
admin
2023-04-08 20:02:30
0


在使用Azure的过程中,我们可以将Tags应用于Azure资源,从而可以将元数据逻辑的组织到某些分类中。每个Tags由名称和值组成。例如,我们可以将名称“Environment”和值“Production”应用于生产中的所有资源。

应用Tags以后,我们可以使用该Tags名称和值检索订阅中的所有资源。使用Tags可以从不同的资源组中检索相关资源。当我们需要组织用于计费或管理的资源时,此方法很有用。

需要注意的是当我们使用TagsTags资源的时候是有如下限制的:

  • 并非所有资源类型都支持Tags。

  • 每个资源或资源组最多可以有15个Tags名称/值对。此限制仅适用于直接应用于资源组或资源的Tags。一个资源组可以包含许多资源,每个资源有15个Tags名称/值对。如果您需要与资源关联的值超过15个,则使用JSON字符串作为Tags值。JSON字符串可以包含应用于单个Tags名称的许多值。本文展示了一个为Tags分配JSON字符串的示例。

  • Tags名称限制为512个字符,Tags值限制为256个字符。对于存储帐户,Tags名称限制为128个字符,Tags值限制为256个字符。

  • 对于所有Tags名称和值,虚拟机的总数限制为2048个字符。

  • 应用于资源组的Tags不会由该资源组中的资源继承。

  • Tags不能应用于云服务等传统资源。

  • 标签名称不能包含这些字符:<,>,%,&,\,?,/

要将Tags应用于资源,用户必须具有对该资源类型的写入权限。要将Tags应用于所有资源类型,请使用Contributor角色。要仅将Tags应用于一种资源类型,请使用该资源的Contributor角色。

说了这么多,下面我们就一起来看下如何使用Powershell批量为资源组下的所有资源添加Tags:

    #Login to Azure    
    Login-AzureRmAccount -Environment AzureChinaCloud
    #获取资源组名称(可单个也可所有)
    $Resources = Get-AzureRmResource -ResourceGroupName “ResourceGroupName”
    #对于每个资源,应用资源组的标记
    Foreach ($resource in $Resources)
    {
    $Rgname = $resource.Resourcegroupname
    $resourceid = $resource.resourceId
    $RGTags = (Get-AzureRmResourceGroup -Name $Rgname).Tags
    $resourcetags = $resource.Tags
    If ($resourcetags -eq $null)
    {
    Write-Output "---------------------------------------------"
    Write-Output "将下列标签应用到: $($resourceid)" $RGTags
    Write-Output "---------------------------------------------"
    $Settag = Set-AzureRmResource -ResourceId $resourceid -Tag $RGTagS -Force
    }
    Else
    {
    $RGTagFinal = @{}
    $RGTagFinal = $RGTags
    Foreach ($resourcetag in $resourcetags.GetEnumerator())
    {
    If ($RGTags.Keys -inotcontains $resourcetag.Key)
    {
    Write-Output "------------------------------------------------"
    Write-Output "键不存在于RG标签中添加到哈希表中" $resourcetag
    Write-Output "------------------------------------------------"
    $RGTagFinal.Add($resourcetag.Key,$resourcetag.Value)
    }
    }
    Write-Output "---------------------------------------------"
    Write-Output "将下列标签应用到:$($resourceid)" $RGTagFinal
    Write-Output "---------------------------------------------"
    $Settag = Set-AzureRmResource -ResourceId $resourceid -Tag $RGTagFinal -Force
    }
    }


相关内容

热门资讯

【第一财经】“宝宝浙江游戏到底... 【第一财经】“宝宝浙江游戏到底有挂吗?”(必胜开挂神器)您好,宝宝浙江游戏这个游戏其实有挂的,确实是...
终于明白“牛魔王牛牛到底有挂吗... 有 亲,根据资深记者爆料牛魔王牛牛是可以开挂的,确实有挂(咨询软件无需打...
今日重大发现“阿当福建麻将究竟... 网上科普关于“阿当福建麻将有没有挂”话题很是火热,小编也是针对阿当福建麻将作*弊开挂的方法以及开挂对...
玩家分享攻略“宝宝浙江开挂器?... 您好:宝宝浙江这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游戏...
终于懂了“杭麻圈真的有挂吗?”... 您好:杭麻圈这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏中...
终于了解“贪玩互娱真的有挂吗?... 网上科普关于“贪玩互娱有没有挂”话题很是火热,小编也是针对贪玩互娱作*弊开挂的方法以及开挂对应的知识...
【第一消息】“麦穗二八杠真的有... 网上科普关于“麦穗二八杠有没有挂”话题很是火热,小编也是针对麦穗二八杠作*弊开挂的方法以及开挂对应的...
今日重大发现“微乐四川麻将有挂... 有 亲,根据资深记者爆料微乐四川麻将是可以开挂的,确实有挂(咨询软件无需...
玩家分享攻略“TT语音是不是有... 有 亲,根据资深记者爆料TT语音是可以开挂的,确实有挂(咨询软件无需打开...
乘客飞机上突发疾病死亡,“空中... 作者 | 第一财经 钱童心封图 | 阿拉木图机场 (摄影:钱童心)12月26日新华社消息称,德国汉莎...