azure - 获取 azure powershell 上其标签以(或包含)特定字符串开头的所有资源 - Azure Powershell
问题描述
我有近 20 个 azure 资源,其中 4 个已获得标签 @
{"Office1work"="work"}
{"Office2practice"="Practice"}
{"Office3practice"="Practice"}
{"Office4practice"="Practice"}
现在我想获取标签名称以关键字“Office”开头的资源。我知道通过 TagName 获取资源,例如“hello”,我只需使用以下命令,
获取 azureRmResource -TagName“你好”
如何使用 get-azurermresource 的 -Tagname 属性为我提供其标签以关键字 "Office" 开头的所有资源?
或者有没有其他好的方法来获取标签以特定字符串开头的所有资源?
谢谢 :)
解决方案
您可以使用此代码段:
$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
更严格的过滤器(如果需要)。
推荐阅读
- python - 尝试在函数外循环追加列表
- django - Django:删除 db.sql3 文件/新数据库时,无法创建用户:save() 得到了意外的关键字参数“force_insert”
- ruby-on-rails - Rails 5 API - has_many 通过创建操作返回 2 条记录,尽管只有 1 条记录保存在数据库中
- git - 签出较早的提交后无法看到新的 Git 提交
- sql - SQL Server 2016 - 从单个表将逻辑层次结构构建到 JSON 结构中
- java - 无法使用 jersey 和 java 在 post 请求中解析字符串 JSON
- python - 无法在 Django 中将对象列表序列化为 JSON
- javascript - 缺少 3+n 个值的对象子数组(基于前 2 个值)
- mysql - 当基于角色的访问控制不够时,如何为用户分配角色和权限?
- python - 无法修改python中的numpy数组