Wait-Event
Menunggu hingga peristiwa tertentu dinaikkan sebelum terus berjalan.
Sintaks
Default (Default)
Wait-Event
[[-SourceIdentifier] <String>]
[-Timeout <Int32>]
[<CommonParameters>]
Deskripsi
cmdlet Wait-Event 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 cmdlet Wait-Event 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.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | 0 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Timeout
Menentukan waktu maksimum, dalam detik, yang Wait-Event menunggu peristiwa terjadi. Default, -1, menunggu tanpa batas waktu. Waktu dimulai saat Anda mengirimkan perintah Wait-Event.
Jika waktu yang ditentukan terlampaui, tunggu berakhir dan perintah kembali, bahkan jika peristiwa belum dinaikkan. Tidak ada pesan kesalahan yang ditampilkan.
Properti parameter
| Jenis: | Int32 |
| Nilai default: | -1 |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | TimeoutSec |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
String
Output
PSEventArgs
Catatan
Peristiwa, langganan peristiwa, dan antrean peristiwa hanya ada di sesi saat ini. Jika Anda menutup sesi saat ini, antrian peristiwa akan dibuang dan langganan peristiwa dibatalkan.