Aracılığıyla paylaş


Wait-Event

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

Syntax

Default (Varsayılan)

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

Description

Wait-Event cmdlet'i, belirli bir olay tetiklenene kadar bir betiğin veya işlevin yürütülmesini askıya alır. Olay tespit edildiğinde yürütme devam eder. Beklemeyi iptal etmek için CTRL+Ctuş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 Eylem parametresini kullanma
  • bir etkinliğin gerçekleşmesini beklemek ve ardından bir eylemle karşılık vermek

Ö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çerin süresi dolduğunda oluşacak olayı bekleyin

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

$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 ProcessStartedkaynak 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 beklediği olaylar için kaynak tanımlayıcıyı belirtir. Varsayılan olarak, Wait-Event herhangi bir olayı bekler.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:0
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-Timeout

Wait-Event olayın gerçekleşmesini beklediği en uzun süreyi saniye cinsinden belirtir. "-1" olarak ayarlanan varsayılan süresiz olarak bekler. zamanlama, Wait-Event komutunu gönderdiğinizde 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.

Parametre özellikleri

Tür:Int32
Default value:-1
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:TimeoutSec

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

Girişler

String

Çıkışlar

PSEventArgs

Notlar

Olaylar, olay abonelikleri ve olay kuyruğu yalnızca geçerli oturumda bulunur. Mevcut oturumu kapatırsanız, etkinlik kuyruğu silinir ve etkinlik aboneliği iptal edilir.