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.