我在 PowerShell 中编写了一个创建 aws ebs 快照的脚本,它工作正常,没有问题,除了我无法定期获取进度状态以继续脚本中的下一步。除非我没有更新该快照 100% 完成,否则我无法继续我的脚本中的下一步,即升级应用程序。任何帮助表示赞赏。
Import-Module -name AWSPowerShell
$CostIdValue = Read-Host "Please provide ID , e.g.:- 111"
$CostId = Get-EC2Volume -profilename xyz -region us-east-2 | ? { $_.Tags.Count -gt 0 -and $_.Tags.Key -eq "CostId" -and $_.Tags.Value -eq $CostIdValue} | Select-Object -ExpandProperty VolumeId
$snapshot = New-EC2Snapshot -profilename xyz -region us-east-2 -VolumeId $CostId
#$snapshotId = Get-EC2Volume -profilename xyz -region us-east-2 | ? { $_.Tags.Count -gt 0 -and $_.Tags.Key -eq "CostId" -and $_.Tags.Value -eq $CostIdValue} | Select-Object -ExpandProperty SnapshotId
$a = $snapshot.SnapshotId
#Write-Output $a
New-EC2Tag -profilename xyz -region us-east-2 -Resource $a -Tag @{ Key="CostId"; Value = $CostIdValue }
$i = Get-EC2Snapshot -profilename xyz -region us-east-2 | ? { $_.Tags.Count -gt 0 -and $_.Tags.Key -eq "CostId" -and $_.Tags.Value -eq "$CostIdValue"} | Select-Object -ExpandProperty State
for ($i = 1; $i -le 100; $i++ )
{
Write-Progress -Activity "Search in Progress" -Status "$i% Complete:" -PercentComplete $i;
}
所以我使用了while并检查了连续间隔的状态。现在脚本正在根据状态及其状态检查快照。按预期完美工作。谢谢大家的加入。。