azure - 如何使用 azure powershell 识别标记名称和值的未标记资源

标签 azure tags azure-powershell azure-automation

我正在寻找一个 PowerShell 脚本,用于获取 Azure 中具有特定标记名/值的资源列表,我拥有用于​​此目的的 cmdlet,如下文所述,但不知道如何使用函数、参数等创建完整的脚本。

请帮忙。

非常感谢,

$Tags = @{"environment"="Terraform Demo"}

Get-AzResource | Where-Object $Tags -eq $null | Select-Object -Property Name, ResourceType

如果不需要,请帮我纠正这个逻辑。提前致谢。

最佳答案

如果您想接收根本没有配置任何标签的资源,您可以使用以下查询:

    Get-AzResource | Where-Object {$_.Tags -eq $null}

如果您想接收环境标签设置为 $nulll 的资源,您可以使用以下查询:

    Get-AzResource | Where-Object {$_.Tags.environment -eq ''}

相反,如果您想查找没有标签组合"environment"= "Terraform Demo"的资源,您可以使用:

    Get-AzResource | Where-Object {$_.Tags.environment -ne 'Terraform Demo'}

您可能还想检查是否切换到资源图查询,因为在跨多个订阅进行搜索时不必更改上下文。 检查未配置环境标签的资源的工作方式如下:

Search-AzGraph -Query "Resources | where tags.environment=~'' | project name"

后者需要 Az.ResourceGraph 模块。详情请参阅此处:https://learn.microsoft.com/en-us/azure/governance/resource-graph/samples/starter?tabs=azure-powershell#list-tag

关于azure - 如何使用 azure powershell 识别标记名称和值的未标记资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73203532/

相关文章:

java - 从 MS Azure Active Directory 获取用户组

java - Struts2 标签 : Fielderrors tag

php - 在 PHP 和 MySQL 中存储和搜索记录关键字的最佳方式?

powershell - 使用 CmdLet New-AzureRmADAppCredential 创建带有证书的新凭据时出错

powershell - 尝试将行添加到 azure 表时获取 "The remote server returned an error: (409) Conflict."

Azure 自动化 RunAs 帐户对 Active Directory 资源的访问权限

java - Azure Key Vault 警告 okhttp3.OkHttpClient : A connection was leaked

azure - 在 Azure 门户中禁用 <TLS 1.2

azure - 闲置 Azure 容器实例以削减成本

tags - 有没有可以更改NFC Tag序列号的软件?