Várias soluções possíveis para isso:
While Loops pode ser usado como uma forma de procurar um processo, dormir por alguns segundos e depois continuar quando um processo não estiver mais presente:
Do {
sleep 2
$instanceCount = (Get-Process | Where { $_.Name -eq "notepad" } | Measure-Object).Count
} while ($instanceCount -gt 0)
Wait Job pode ser usado para iniciar um trabalho e aguardar a conclusão de um trabalho:
$myJob = Start-Job -Name "MyJobName" -ScriptBlock {
#Do Something
}
Wait-Job -Job $myJob
Iniciar processo também pode ser usado para iniciar algo e aguardar a conclusão:
Start-Process "C:\mything.exe arg1=something arg2=somethingelse" -NoNewWindow -Wait
Espero que um deles ajude você