Aracılığıyla paylaş


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

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.