我几乎有20种资源处于天蓝色状态,其中4种已获得标签@
{"Office1work"="work"}
{"Office2practice"="Practice"}
{"Office3practice"="Practice"}
{"Office4practice"="Practice"}
现在,我想获取标记名称以关键字“ Office”开头的资源。 我知道要通过TagName获取资源,例如“ hello”,我只需使用以下命令,
get-azureRmResource -TagName“ Hello”
如何使用get-azurermresource的-Tagname属性为我提供所有标签以关键字“ Office”开头的资源?
或者是否有其他好的方法来获取其Tag以特定字符串开头的所有资源?
谢谢:)
答案 0 :(得分:2)
您可以使用以下代码段:
$resources = Get-AzureRmResources
$resources.foreach{ if ($PSItem.tags.keys -match '^Office') { $PSItem } }
首先,您获得订阅中的所有资源,然后过滤出所有标签与“ Office”“表达式”不匹配的资源。
@LotPings指出,在不保存到临时变量的情况下进行过滤可能更有意义:
$resources = Get-AzureRmResources|Where-Object {$_.tags.keys -match "^Office"}
此外,我没有注意到您要使用starts with
过滤器,因此应使用^Office
作为更严格的过滤器(如果需要)。