Wait-Event
Před pokračováním ve spuštění čeká na vyvolání konkrétní události.
Syntaxe
Wait-Event
[[-SourceIdentifier] <String>]
[-Timeout <Int32>]
[<CommonParameters>]
Description
Rutina Wait-Event
pozastaví provádění skriptu nebo funkce, dokud se negeneruje konkrétní událost. Provádění se obnoví při zjištění události. Pokud chcete čekání zrušit, stiskněte ctrl +C.
Tato funkce poskytuje alternativu k dotazování na událost. Umožňuje také určit odpověď na událost dvěma různými způsoby:
- pomocí parametru Akce odběru událostí
- čekání na vrácení události a následné reakce s akcí
Příklady
Příklad 1: Čekání na další událost
Tento příklad čeká na další událost, která je vyvolána.
Wait-Event
Příklad 2: Čekání na událost se zadaným identifikátorem zdroje
Tento příklad čeká na další událost, která je vyvolána a která má zdrojový identifikátor ProcessStarted.
Wait-Event -SourceIdentifier "ProcessStarted"
Příklad 3: Čekání na uplynulou událost časovače
Tento příklad používá rutinu Wait-Event
k čekání na událost časovače na časovač, který je nastavený na 2000 milisekund.
$Timer = New-Object Timers.Timer
$objectEventArgs = @{
InputObject = $Timer
EventName = 'Elapsed'
SourceIdentifier = 'Timer.Elapsed'
}
Register-ObjectEvent @objectEventArgs
$Timer.Interval = 2000
$Timer.Autoreset = $False
$Timer.Enabled = $True
Wait-Event Timer.Elapsed
ComputerName :
RunspaceId : bb560b14-ff43-48d4-b801-5adc31bbc6fb
EventIdentifier : 1
Sender : System.Timers.Timer
SourceEventArgs : System.Timers.ElapsedEventArgs
SourceArgs : {System.Timers.Timer, System.Timers.ElapsedEventArgs}
SourceIdentifier : Timer.Elapsed
TimeGenerated : 4/23/2020 2:30:37 PM
MessageData :
Příklad 4: Čekání na událost po zadaném časovém limitu
Tento příklad čeká až 90 sekund na další událost, která je vyvolána a která má zdrojový identifikátor ProcessStarted. Pokud vyprší zadaný čas, čekání skončí.
Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90
Parametry
-SourceIdentifier
Určuje identifikátor zdroje, který tato rutina čeká na události.
Ve výchozím nastavení Wait-Event
čeká na jakoukoli událost.
Typ: | String |
Position: | 0 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Timeout
Určuje maximální dobu v sekundách, která Wait-Event
čeká na výskyt události. Výchozí hodnota -1 počká na neomezenou dobu. Časování se spustí při odeslání Wait-Event
příkazu.
Pokud je zadaný čas překročen, čekání skončí a příkazový řádek se vrátí, i když událost nebyla vyvolána. Nezobrazí se žádná chybová zpráva.
Typ: | Int32 |
Aliasy: | TimeoutSec |
Position: | Named |
Default value: | -1 |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
Výstupy
Poznámky
Události, odběry událostí a fronta událostí existují pouze v aktuální relaci. Pokud zavřete aktuální relaci, fronta událostí se zahodí a odběr události se zruší.