PowerShell

オブジェクトのプロパティが更新されるまで待つ

ジョブにできたら wait-job が使えるんだけど。。。

Function Wait-Status {
    Param(
        [Parameter(ValueFromPipeline=$True)]
        [object[]]$InputObject,
        [string]$Property,
        [object]$Value,
        [int]$Timeout = 3600 * 24,
        [int]$CheckInterval = 1,
        [string]$Indicator
    )
    Process {
        foreach($o in $InputObject){
            while($o.$Property -ne $Value){
                if($Indicator) { Write-Host -NoNewline "." }
                Start-Sleep -Seconds $CheckInterval
            }
        }
    }
}

[object[]]$InputeObject にしてるけど、並列では動かないので注意が必要。