Bagikan melalui


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.