Wait-Event

Çalışmaya devam etmeden önce belirli bir olayın tetiklenmesine kadar bekler.

Syntax

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

Description

Cmdlet, Wait-Event belirli bir olay tetiklenene kadar bir betiğin veya işlevin yürütülmesini askıya alır. Olay algılandığında yürütme sürdürülür. Beklemeyi iptal etmek için CTRL C tuşlarına+basın.

Bu özellik, bir olay için yoklama için bir alternatif sağlar. Ayrıca bir olaya verilen yanıtı iki farklı yolla belirlemenize olanak tanır:

  • olay aboneliğinin Action parametresini kullanma
  • bir olayın döndürülmesi ve ardından bir eylemle yanıt vermesi bekleniyor

Örnekler

Örnek 1: Sonraki olayı bekleyin

Bu örnek, tetiklenen sonraki olayı bekler.

Wait-Event

Örnek 2: Belirtilen kaynak tanımlayıcıya sahip bir olayı bekleyin

Bu örnek, tetiklenen ve ProcessStarted kaynak tanımlayıcısı olan bir sonraki olayı bekler.

Wait-Event -SourceIdentifier "ProcessStarted"

Örnek 3: Süreölçer geçen olayı bekleyin

Bu örnek, 2000 milisaniye olarak ayarlanmış bir zamanlayıcıda zamanlayıcı olayını beklemek için cmdlet'ini kullanır Wait-Event .

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

Örnek 4: Belirtilen zaman aşımının ardından bir olayı bekleyin

Bu örnek, tetiklenen ve ProcessStarted kaynak tanımlayıcısına sahip bir sonraki olay için 90 saniyeye kadar bekler. Belirtilen süre dolarsa bekleme sona erer.

Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90

Parametreler

-SourceIdentifier

Bu cmdlet'in olayları beklediği kaynak tanımlayıcıyı belirtir. Varsayılan olarak, Wait-Event herhangi bir olayı bekler.

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

-Timeout

Olayın gerçekleşmesini bekleyen en uzun süreyi saniye Wait-Event cinsinden belirtir. -1 varsayılanı süresiz olarak bekler. Zamanlama, komutu gönderdiğinizde Wait-Event başlar.

Belirtilen süre aşılırsa, olay tetiklenmemiş olsa bile bekleme sona erer ve komut istemi geri döner. Hiçbir hata iletisi görüntülenmez.

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

Girişler

String

Çıkışlar

PSEventArgs

Notlar

Olaylar, olay abonelikleri ve olay kuyruğu yalnızca geçerli oturumda bulunur. Geçerli oturumu kapatırsanız olay kuyruğu atılır ve olay aboneliği iptal edilir.