2016-08-25 15 views
1

我正在使用follwing从AWS获取实例属性的列表。在数组内部展开分组对象

Get-EC2Instance | Select @{Name="InstanceType";Expression={$_.RunningInstance.InstanceType.Value}},@{Name="InstanceID";Expression={$_.RunningInstance.InstanceId}} 

但是它是分组的一些项目(以粗体突出),像这样:

InstanceType   InstanceID 
------------   ---------- 
m3.large    i-935aeb54 
{m3.large,m3.large}  {i-495eb51d,i-eb1ce266} 
m3.large    i-36c93c8b 
m3.xlarge    i-0aa5e4c0 
m3.xlarge    i-748069f0 
{m3.medium,m3.medium} {i-6305fa77,i-2eb33ffc}

我希望能够扩大这些所以它只是一个普通的平板阵列:

InstanceType InstanceID 
------------ ---------- 
m3.large  i-935aeb54 
m3.large  i-495eb51d 
m3.large  i-eb1ce266 
m3.large  i-36c93c8b 
m3.xlarge  i-0aa5e4c0 
m3.xlarge  i-748069f0 
m3.medium  i-6305fa77 
m3.medium  i-2eb33ffc

我试过使用管道到Select-Object -Expand,但我没有设法让它工作。

+2

'GET-EC2Instance |选择 - 展开RunningInstance |选择@ {Name =“InstanceType”; Expression = {$ _。InstanceType.Value}},“InstanceID”' – PetSerAl

+1

Spot on!现在我可以看到它需要如何使用。如果您将它作为答案发布,我会将其标记为已接受:) –

回答

2

鉴于你的输出,这是非常有可能的,这RunningInstance属性包含运行实例的集合,所以你首先需要扩大这个属性,仅比选择你想要的属性:

Get-EC2Instance | 
Select -Expand RunningInstance | 
Select @{Name="InstanceType";Expression={$_.InstanceType.Value}}, I‌​nstanceID