为什么当我输入这个 powershell 代码时它没有执行?

Why when I enter this powershell code its not executed?

我试图删除所有具有特定值的标签,但我的代码没有执行

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

我需要如何处理 end/execute 这段代码?

它不起作用,因为 Remove-AzureRmTag 期望收到要删除的标记,但您向它传递了一个资源(get-AzureRmResource 的输出是一个资源)。

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

我想你想删除所有资源中的 tagname:tagvalue 对,试试下面的命令,它应该可以工作。

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

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