New-Event
Yeni bir olay oluşturur.
Syntax
New-Event
[-SourceIdentifier] <String>
[[-Sender] <PSObject>]
[[-EventArguments] <PSObject[]>]
[[-MessageData] <PSObject>]
[<CommonParameters>]
Description
cmdlet'i New-Event
yeni bir özel olay oluşturur.
Özel olayları, kullanıcıları programınızdaki durum değişiklikleri ve donanım veya sistem koşulları, uygulama durumu, disk durumu, ağ durumu veya bir arka plan işinin tamamlanması gibi programınızın algılayabileceğiniz herhangi bir değişiklik hakkında bilgilendirmek için kullanabilirsiniz.
Özel olaylar her tetiklendiğinde oturumunuzda olay kuyruğuna otomatik olarak eklenir; abone olmanız gerekmez. Ancak, bir olayı yerel oturuma iletmek veya olaya yanıt vermek için bir eylem belirtmek istiyorsanız, özel olaya abone olmak için cmdlet'ini kullanın Register-EngineEvent
.
Özel bir olaya abone olduğunuzda, olay abonesi oturumunuza eklenir. Olay aboneliğini cmdlet'ini Unregister-Event
kullanarak iptal ederseniz, olay abonesi ve özel olay oturumdan silinir. Özel olaya abone değilseniz, olayı silmek için program koşullarını değiştirmeniz veya PowerShell oturumunu kapatmanız gerekir.
Örnekler
Örnek 1: Olay kuyruğunda yeni bir olay İçerik Oluşturucu
PS C:\> New-Event -SourceIdentifier Timer -Sender windows.timer -MessageData "Test"
Bu komut PowerShell olay kuyruğunda yeni bir olay oluşturur. Olayı göndermek için bir Windows.Timer nesnesi kullanır.
Örnek 2: Başka bir olaya yanıt olarak olay oluşturma
PS C:\> function Enable-ProcessCreationEvent
{
$Query = New-Object System.Management.WqlEventQuery "__InstanceCreationEvent", (New-Object TimeSpan 0,0,1), "TargetInstance isa 'Win32_Process'"
$ProcessWatcher = New-Object System.Management.ManagementEventWatcher $Query
$Identifier = "WMI.ProcessCreated"
Register-ObjectEvent $ProcessWatcher "EventArrived" -SupportEvent $Identifier -Action
{
[void] (New-Event -SourceID "PowerShell.ProcessCreated" -Sender $Args[0] -EventArguments $Args[1].SourceEventArgs.NewEvent.TargetInstance)
}
}
Bu örnek işlev, başka bir olaya yanıt olarak bir olay tetiklemek için cmdlet'ini kullanır New-Event
. komut, yeni bir işlem oluşturulduğunda oluşturulan Windows Yönetim Araçları (WMI) olayına abone olmak için cmdlet'ini kullanır Register-ObjectEvent
. komut, cmdlet'in Eylem parametresini kullanarak cmdlet'ini New-Event
çağırır ve bu da yeni olayı oluşturur.
Oluşturan olaylar New-Event
otomatik olarak PowerShell olay kuyruğuna eklendiğinden, bu olaya kaydolmanız gerekmez.
Parametreler
-EventArguments
Olay için seçenekleri içeren bir nesne belirtir.
Type: | PSObject[] |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MessageData
Olayla ilişkili ek verileri belirtir. Bu parametrenin değeri olay nesnesinin MessageData özelliğinde görünür.
Type: | PSObject |
Position: | 3 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Sender
Olayı oluşturan nesneyi belirtir. Varsayılan değer PowerShell altyapısıdır.
Type: | PSObject |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SourceIdentifier
Yeni olay için bir ad belirtir. Bu parametre gereklidir ve oturumda benzersiz olmalıdır.
Bu parametrenin değeri, olayların SourceIdentifier özelliğinde görünür.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Girişler
None
Bu cmdlet'e giriş kanalı yapamazsınız.
Çıkışlar
Notlar
Linux veya macOS platformlarında kullanılabilir olay kaynağı yok.
Yeni özel olay, olay aboneliği 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.