展开数组

时间:2016-08-25 13:41:38

标签: arrays powershell amazon-ec2

我正在使用以下内容从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,但我还没设法让它发挥作用。

1 个答案:

答案 0 :(得分:2)

鉴于您的输出,RunningInstance属性很可能包含正在运行的实例的集合,因此您首先需要展开此属性,而不是选择所需的属性:

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