将EC2标记添加到多个实例

时间:2018-08-01 18:32:59

标签: amazon-web-services powershell amazon-ec2

我正在尝试使用PowerShell将新的EC2标记一次添加到多个实例。我的所有实例都以

格式标记
name : $Env_$Role_$Number

但是,我无法为我现在需要的每个实例单独放置Environment: Production标签。我在PowerShell中执行以下操作,以获取表中所需实例的列表。

$ProdTag = New-Object Amazon.EC2.Model.Filter
$ProdTag.Name = "tag:Name"
$ProdTag.Values = "PROD*"
$Instances = New-Object Amazon.EC2.Model.Filter
$Instances.Name = "tag:resource-type"
$ProdTag.Values = "instance"
Get-EC2Tag -Filter ($ProdTag, $Instances)

这将输出我想要的实例列表。我将如何获取ResourceType列,将其存储在数组中并将New-EC2Tag -tag (Name="tag: Environment, Value="Production:)应用于该数组?

1 个答案:

答案 0 :(得分:0)

我意识到我可以将Get-EC2Tag -Filter ($ProdTag, $Instances)作为对象存储在Powershell中:$ProdInstances = (Get-EC2Tag -Filter ($ProdFilter, $InstanceFilter)).ResourceID

然后我创建了一个$ProdEnvTag对象,将Environment:Production作为标签应用于$ProdInstances对象中的所有内容:$ProdInstances | ForEach-Object {New-EC2Tag -Resource $_ -Tag $ProdEnvTag}