Итерация по PSOObject - PullRequest
       30

Итерация по PSOObject

0 голосов
/ 10 апреля 2019

Я пишу сценарий, в котором сопоставляются блочные устройства, подключенные к экземпляру EC2, и затем устанавливается соответствующий тег.

У меня есть следующий PSOObject и визуализация в консоли

 New-Object PSObject -Property @{
    Disk          = $Disk;
    Partitions    = $Partitions;
    DriveLetter   = If ($DriveLetter -eq $null) { "N/A" } Else { $DriveLetter };
    EbsVolumeId   = If ($EbsVolumeID -eq $null) { "N/A" } Else { $EbsVolumeID };
    Device        = If ($BlockDeviceName -eq $null) { "N/A" } Else { $BlockDeviceName };
    VirtualDevice = If ($VirtualDevice -eq $null) { "N/A" } Else { $VirtualDevice };
    VolumeName    = If ($VolumeName -eq $null) { "N/A" } Else { $VolumeName };
  }
} | Sort-Object Disk | Format-Table -AutoSize -Property Disk, Partitions, DriveLetter, EbsVolumeId, Device, VirtualDevice, VolumeName

Теперь у меня есть следующая простая команда New-EC2tag, помечающая экземпляр.

New-EC2Tag -Resource $InstanceId -Tags @{ Key = $DriveLetter; Value = $BlockDeviceName}

По сути, он просто записывает диск C: и я считаю, что мне нужно перебрать PSObject, чтобы в основном также установить соответствующие диски.

Буду признателен за любую помощь.

...