1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | function Ejecutar-Tiempo { param ( [Parameter(Mandatory)] [ScriptBlock] $Code, [int] $Timeout = 5 ) $j = Start-Job -ScriptBlock $Code $completed = Wait-Job $j -Timeout $Timeout if ($completed -eq $null) { throw "Finalizado." Stop-Job -Job $j } else { Receive-Job -Job $j } Remove-Job -Job $j } Ejecutar-Tiempo -Code {notepad} |