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.

Syntax

Default (Výchozí)

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 Action 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, která je nastavena 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 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 libovolnou událost.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:0
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů: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.

Vlastnosti parametru

Typ:Int32
Default value:-1
Podporuje zástupné znaky:False
DontShow:False
Aliasy:TimeoutSec

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

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í sezení, fronta událostí se vyprázdní a odběr události se zruší.