如何从实例名称获取 ec2 实例 ID

How to get an ec2 instance id from instance name

我想从它的名称中检索 ec2 实例的 ID,我已将其设置为它的标签值。我有一个 VM,键为 'Name',值为 'testvm1'。有没有类似

(get-ec2 instance id) | where-object {$_.(key.value) - eq "testvm1"}

这有效

 $ec2Name = New-Object Amazon.EC2.Model.Filter -Property @{Name = "tag:Name"; Values = "testvm1"}
    $instances = @(Get-EC2Tag -Filters $ec2Name) 
      $instances | Select-Object -ExpandProperty resourceid

您可以通过传递 hashtable as your filter. This will map your input to a Amazon.EC2.Model.Filter[] 类型进一步减少它。

tag:Name 上使用一个过滤器映射多个标签名称的示例:

(Get-EC2Tag -Filter @{Name="tag:Name";Values="Name1","Name2"}).ResourceId

示例输出:

i-abcd1234
i-edfg5678