Не удалось получить идентификатор образа существования экземпляра ec2 из powershell - PullRequest
1 голос
/ 11 марта 2020

Я пытаюсь получить скрипт spowershell, чтобы я мог получить идентификатор изображения экземпляра ec2 существования.

например:

Write-Host -BackgroundColor White -ForegroundColor Blue "What is the ID of the instance"
$tid=Read-Host "Instance ID"
Write-Host -BackgroundColor White -ForegroundColor Blue "Input the region the instance inhabits"
$tregion=Read-Host "Region"
$Tinstancetype = ((Get-EC2Instance -InstanceId $tid).instances).InstanceType
Write-Host "Instance Type : $Tinstancetype"

Как и в этом коде выше, я ввел Идентификатор экземпляра и его тип. Мне нужен код, который может выдать идентификатор изображения.

1 Ответ

1 голос
/ 11 марта 2020

Вы запрашиваете только свойство Instance Type. Get-EC2Instance вернет массив объектов, каждый объект имеет ряд свойств. ваша команда отображает только значение свойства `InstanceType '

Если вы запустите (Get-EC2Instance -InstanceId $tid).instances | Select *, вы увидите все свойства и их значения, одним из этих свойств будет идентификатор изображения.

Пример вывода Get-EC2Instance:

C:\> (Get-EC2Instance -InstanceId i-12345678).Instances

AmiLaunchIndex        : 0
Architecture          : x86_64
BlockDeviceMappings   : {/dev/sda1}
ClientToken           : TleEy1448154045270
EbsOptimized          : False
Hypervisor            : xen
IamInstanceProfile    : Amazon.EC2.Model.IamInstanceProfile
ImageId               : ami-12345678
InstanceId            : i-12345678
InstanceLifecycle     :
InstanceType          : t2.micro
KernelId              :
KeyName               : my-key-pair
LaunchTime            : 12/4/2015 4:44:40 PM
Monitoring            : Amazon.EC2.Model.Monitoring
NetworkInterfaces     : {ip-10-0-2-172.us-west-2.compute.internal}
Placement             : Amazon.EC2.Model.Placement
Platform              : Windows
PrivateDnsName        : ip-10-0-2-172.us-west-2.compute.internal
PrivateIpAddress      : 10.0.2.172
ProductCodes          : {}
PublicDnsName         : 
PublicIpAddress       : 
RamdiskId             :
RootDeviceName        : /dev/sda1
RootDeviceType        : ebs
SecurityGroups        : {default}
SourceDestCheck       : True
SpotInstanceRequestId :
SriovNetSupport       :
State                 : Amazon.EC2.Model.InstanceState
StateReason           :
StateTransitionReason :
SubnetId              : subnet-12345678
Tags                  : {Name}
VirtualizationType    : hvm
VpcId                 : vpc-12345678

Ваш скрипт будет выглядеть примерно так:

Write-Host -BackgroundColor White -ForegroundColor Blue "What is the ID of the instance"
$tid=Read-Host "Instance ID"
Write-Host -BackgroundColor White -ForegroundColor Blue "Input the region the instance inhabits"
$tregion=Read-Host "Region"
$Instance = ((Get-EC2Instance -InstanceId $tid).instances)
$Tinstancetype = $Instance.InstanceType
$ImageID =$Instance.ImageId
Write-Host "Instance Type : $Tinstancetype"
Write-Host "Instance Type : $ImageID"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...