Aracılığıyla paylaş


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

PSEventArgs

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.