Wait-Event

Menunggu hingga peristiwa tertentu dinaikkan sebelum terus berjalan.

Sintaks

Wait-Event
    [[-SourceIdentifier] <String>]
    [-Timeout <Int32>]
    [<CommonParameters>]

Deskripsi

Wait-Event Cmdlet menangguhkan eksekusi skrip atau fungsi hingga peristiwa tertentu dinaikkan. Eksekusi dilanjutkan saat peristiwa terdeteksi. Untuk membatalkan tunggu, tekan CTRL+C.

Fitur ini menyediakan alternatif untuk polling untuk suatu peristiwa. Ini juga memungkinkan Anda menentukan respons terhadap suatu peristiwa dengan dua cara berbeda:

  • menggunakan parameter Tindakan langganan peristiwa
  • menunggu peristiwa kembali lalu merespons dengan tindakan

Contoh

Contoh 1: Tunggu peristiwa berikutnya

Contoh ini menunggu peristiwa berikutnya yang dinaikkan.

Wait-Event

Contoh 2: Tunggu peristiwa dengan pengidentifikasi sumber tertentu

Contoh ini menunggu peristiwa berikutnya yang dinaikkan dan yang memiliki pengidentifikasi sumber ProcessStarted.

Wait-Event -SourceIdentifier "ProcessStarted"

Contoh 3: Tunggu peristiwa yang berlalu timer

Contoh ini menggunakan Wait-Event cmdlet untuk menunggu peristiwa timer pada timer yang diatur selama 2000 milidetik.

$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      :

Contoh 4: Tunggu peristiwa setelah batas waktu yang ditentukan

Contoh ini menunggu hingga 90 detik untuk peristiwa berikutnya yang dinaikkan dan yang memiliki pengidentifikasi sumber ProcessStarted. Jika waktu yang ditentukan kedaluwarsa, tunggu berakhir.

Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90

Parameter

-SourceIdentifier

Menentukan pengidentifikasi sumber bahwa cmdlet ini menunggu peristiwa. Secara default, Wait-Event menunggu peristiwa apa pun.

Type:String
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Timeout

Menentukan waktu maksimum, dalam detik, yang Wait-Event menunggu peristiwa terjadi. Default, -1, menunggu tanpa batas waktu. Waktu dimulai saat Anda mengirimkan Wait-Event perintah.

Jika waktu yang ditentukan terlampaui, tunggu berakhir dan perintah kembali, bahkan jika peristiwa belum dinaikkan. Tidak ada pesan kesalahan yang ditampilkan.

Type:Int32
Aliases:TimeoutSec
Position:Named
Default value:-1
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

String

Output

PSEventArgs

Catatan

Peristiwa, langganan peristiwa, dan antrean peristiwa hanya ada di sesi saat ini. Jika Anda menutup sesi saat ini, antrean peristiwa akan dibuang dan langganan acara dibatalkan.