New-Event
Yeni bir olay oluşturur.
Sözdizimi
New-Event
[-SourceIdentifier] <String>
[[-Sender] <PSObject>]
[[-EventArguments] <PSObject[]>]
[[-MessageData] <PSObject>]
[<CommonParameters>]
Description
New-Event
cmdlet'i yeni bir özel olay oluşturur.
Özel olayları, kullanıcılara 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 bilgi vermek için kullanabilirsiniz.
Özel olaylar her tetiklendiğinde oturumunuzda olay kuyruğuna otomatik olarak eklenir; bunlara 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. Cmdlet'ini kullanarak olay aboneliğini Unregister-Event
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 oluşturma
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, cmdlet'ini New-Event
kullanarak başka bir olaya yanıt olarak bir olay oluşturur. 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 Action parametresini kullanarak cmdlet'ini New-Event
çağırır ve bu da yeni olayı oluşturur.
Tetikleyen New-Event
olaylar PowerShell olay kuyruğuna otomatik olarak eklendiğinden, bu olaya kaydolmanız gerekmez.
Parametreler
-EventArguments
Olay için seçenekler içeren bir nesne belirtir.
Tür: | PSObject[] |
Position: | 2 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-MessageData
Olayla ilişkili ek verileri belirtir. Bu parametrenin değeri, olay nesnesinin MessageData özelliğinde görüntülenir.
Tür: | PSObject |
Position: | 3 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Sender
Olayı tetikleyen nesneyi belirtir. Varsayılan olarak PowerShell altyapısı kullanılır.
Tür: | PSObject |
Position: | 1 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | 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üntülenir.
Tür: | String |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
Girişler
None
Nesneleri bu cmdlet'e yöneltemezsiniz.
Çı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.
İlişkili Bağlantılar
PowerShell