如何使用Where-Object -Filterscript根据Tag和相应的Tag值查找AWS资源?
如果我运行命令来查看标签:
(Get-Ec2Address -region $region).Tags
我收到如下输出:
键值
---
环境开发
项目
姓名等等
因此,如果我要查找项目标记具有与“ project”匹配的值的所有EIP资源,该怎么办?我正在尝试:
Get-EC2Address -region $region | Where-Object -FilterScript {
$_.Tags.Key -match "project" -and `
$_.Tags.Value -like "*$project*"
}
但这只是向我显示具有键“项目”和值“项目”的EIP,而不是EIP具有键“项目”和CORRESPONDING值是“项目”的地方。
例如
Get-EC2Address -region $region | Where-Object -FilterScript {
$_.Tags.Key -match "project" -and `
$_.Tags.Value -like "*dev"
}
尽管我们没有名为“ dev”的项目,但仍将返回结果
在过滤时如何链接键和值?
答案 0 :(得分:0)
您总是可以这样做
Get-EC2Address -region $region | Where-Object -FilterScript {$_.Tags.Key -match "project"} | Where-Object -FilterScript {$_.Tags.Value -like "*$project*"}
我没有AWS环境来测试您的代码。 ^^效率不高,但应该可以。