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 kombinaci kláves 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í a čekáním na vrácení události a následnou reakcí na akci.
Příklady
Příklad 1: Čekání na další událost
PS C:\> Wait-Event
Tento příkaz čeká na další událost, která je vyvolána.
Příklad 2: Čekání na událost se zadaným identifikátorem zdroje
PS C:\> Wait-Event -SourceIdentifier "ProcessStarted"
Tento příkaz čeká na další událost, která je vyvolána a která má zdrojový identifikátor ProcessStarted.
Příklad 3: Čekání na uplynulou událost časovače
PS C:\> $Timer.Interval = 2000
PS C:\> $Timer.Autoreset = $False
PS C:\> $Timer.Enabled = $True; Wait-Event Timer.Elapsed
# After 2 seconds
EventIdentifier : 12
Sender : System.Timers.Timer
SourceEventArgs : System.Timers.ElapsedEventArgs
SourceArgs : {System.Timers.Timer, System.Timers.ElapsedEventArgs}
SourceIdentifier : Timer.Elapsed
TimeGenerated : 6/10/2008 3:24:18 PM
MessageData :
ForwardEvent : False
Tento příkaz používá rutinu Wait-Event k čekání na událost časovače v časovači nastaveném na 2000 milisekund.
Příklad 4: Čekání na událost po zadaném časovém limitu
PS C:\> Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90
Tento příkaz č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čí.
Parametry
-SourceIdentifier
Určuje identifikátor zdroje, který tato rutina čeká na události. Ve výchozím nastavení wait-event čeká na libovolnou 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, po kterou wait-event čeká na výskyt události. Výchozí hodnota -1 počká na neomezenou dobu. Časování začíná odesláním příkazu Wait-Event.
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: | None |
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ší.