Sdílet prostřednictvím


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

String

Výstupy

PSEventArgs

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ší.