为什么当我输入此Powershell代码时,它没有执行?

时间:2019-01-13 19:58:39

标签: azure azure-powershell

我尝试删除所有具有特定值的标签,但是我的代码未执行

$tagname = "tagname"
$TagValue ="tagvalue"
get-AzureRmResource -TagName $tagname -TagValue $TagValue | Remove-AzureRmTag

结束/执行此代码我需要做什么?

2 个答案:

答案 0 :(得分:0)

这不起作用,因为Remove-AzureRmTag期望接收要删除的标签,但是您正在向其传递资源(get-AzureRmResource的输出是资源)。

我对您要实现的目标不太清楚,是否要从任何资源中删除具有特定值的特定标签的所有实例?如果是这种情况,那么无论如何这都不是正确的命令,因为它只会在不使用标签时将其删除。

答案 1 :(得分:0)

我想您想在所有拥有它的资源中删除一对tagname:tagvalue,请尝试以下命令,它应该可以工作。

$Tagname = "tagname"
$TagValue ="tagvalue"

$Resource = Get-AzureRmResource -TagName $Tagname -TagValue $TagValue
$Resource | ForEach-Object { $_.Tags.Remove($tagname) }
$Resource | Set-AzureRmResource -Force