我想从它的名称中检索一个ec2实例的ID,我将该ID设置为其标签的值。我有一个虚拟机,其键为“名称”,值为“ testvm1”。是否有
之类的东西 (get-ec2 instance id) | where-object {$_.(key.value) - eq "testvm1"}
答案 0 :(得分:1)
这有效
$ec2Name = New-Object Amazon.EC2.Model.Filter -Property @{Name = "tag:Name"; Values = "testvm1"}
$instances = @(Get-EC2Tag -Filters $ec2Name)
$instances | Select-Object -ExpandProperty resourceid
答案 1 :(得分:1)
您可以通过传递hashtable作为过滤器来进一步减少这种情况。这会将您的输入映射到Amazon.EC2.Model.Filter[]类型。
在tag:Name
上使用一个过滤器映射多个标签名称的示例:
(Get-EC2Tag -Filter @{Name="tag:Name";Values="Name1","Name2"}).ResourceId
示例输出:
i-abcd1234
i-edfg5678