AWS powershell获取卷 - 附件instanceid

时间:2018-03-13 02:00:14

标签: amazon-web-services volumes

我尝试列出所有AWS卷并通过powershell获取它所附加的实例。我正在运行下面显示的具有帐户root权限的powershell程序。

使用文档:
一个。 https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/EC2/TVolume.html
https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/EC2/TVolumeAttachment.html
我使用的代码是:

$volno=0
foreach ($i in Get-EC2Volume) { 
    ++$volno
    write-host $i.VolumeId $i.Name $i.Size $i.VolumeType
    write-host $i.Atachments.Count
    foreach ($j in $i.Atachments) {
      $j.InstanceId
    }
  }

我得到了这些结果:

vol-83d1e111  10 gp2
0
vol-2248a222  8 gp2
0
vol-4b48a333  30 gp2
0
vol-345fbf44  50 gp2
0
vol-b4876b55  8 gp2
0
....

问题

  1. 结果显示没有附件,即所有卷都未附加到任何实例。某些卷附加到正在运行的实例。为什么?
    参考a。表明有一个属性'附件'其类型为System.Collections.Generic.List

    参考b。表明Amazon.EC2.Model.VolumeAttachment的成员为InstanceId

1 个答案:

答案 0 :(得分:0)

对不起有一个我没注意到的拼写错误:
写主机$ i.Atachments.Count
应该是 write-host $ i.Attachments.Count



foreach($ i in $ i.Atachments){
应该是 foreach($ i in $ i.Attachments){