Wait-Event
Před pokračováním ve spuštění čeká na vyvolání konkrétní události.
Syntaxe
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ší.