New-Event
Membuat peristiwa baru.
Sintaks
New-Event
[-SourceIdentifier] <String>
[[-Sender] <PSObject>]
[[-EventArguments] <PSObject[]>]
[[-MessageData] <PSObject>]
[<CommonParameters>]
Deskripsi
New-Event
Cmdlet membuat peristiwa kustom baru.
Anda dapat menggunakan peristiwa kustom untuk memberi tahu pengguna tentang perubahan status dalam program Anda dan perubahan apa pun yang dapat dideteksi program Anda, termasuk kondisi perangkat keras atau sistem, status aplikasi, status disk, status jaringan, atau penyelesaian pekerjaan latar belakang.
Peristiwa kustom secara otomatis ditambahkan ke antrean peristiwa di sesi Anda setiap kali dinaikkan; Anda tidak perlu berlangganan mereka. Namun, jika Anda ingin meneruskan peristiwa ke sesi lokal atau menentukan tindakan untuk merespons peristiwa, gunakan Register-EngineEvent
cmdlet untuk berlangganan peristiwa kustom.
Saat Anda berlangganan peristiwa kustom, pelanggan peristiwa ditambahkan ke sesi Anda. Jika Anda membatalkan langganan peristiwa dengan menggunakan Unregister-Event
cmdlet, pelanggan peristiwa dan peristiwa kustom akan dihapus dari sesi. Jika Anda tidak berlangganan peristiwa kustom, untuk menghapus peristiwa, Anda harus mengubah kondisi program atau menutup sesi PowerShell.
Contoh
Contoh 1: Membuat peristiwa baru dalam antrean peristiwa
PS C:\> New-Event -SourceIdentifier Timer -Sender windows.timer -MessageData "Test"
Perintah ini membuat peristiwa baru dalam antrean peristiwa PowerShell. Ini menggunakan objek Windows.Timer untuk mengirim peristiwa.
Contoh 2: Menaikkan peristiwa sebagai respons terhadap peristiwa lain
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)
}
}
Fungsi sampel ini menggunakan New-Event
cmdlet untuk menaikkan peristiwa sebagai respons terhadap peristiwa lain. Perintah menggunakan Register-ObjectEvent
cmdlet untuk berlangganan peristiwa Windows Management Instrumentation (WMI) yang dinaikkan saat proses baru dibuat. Perintah menggunakan parameter Tindakan cmdlet untuk memanggil New-Event
cmdlet, yang membuat peristiwa baru.
Karena peristiwa yang New-Event
dinaikkan secara otomatis ditambahkan ke antrean peristiwa PowerShell, Anda tidak perlu mendaftar untuk peristiwa tersebut.
Parameter
-EventArguments
Menentukan objek yang berisi opsi untuk peristiwa tersebut.
Type: | PSObject[] |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MessageData
Menentukan data tambahan yang terkait dengan peristiwa. Nilai parameter ini muncul di properti MessageData objek peristiwa.
Type: | PSObject |
Position: | 3 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Sender
Menentukan objek yang menaikkan peristiwa. Defaultnya adalah mesin PowerShell.
Type: | PSObject |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SourceIdentifier
Menentukan nama untuk peristiwa baru. Parameter ini diperlukan, dan harus unik dalam sesi.
Nilai parameter ini muncul di properti SourceIdentifier peristiwa.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
None
Anda tidak dapat menyalurkan objek ke cmdlet ini.
Output
Catatan
Tidak ada sumber peristiwa yang tersedia di platform Linux atau macOS.
Peristiwa kustom baru, langganan peristiwa, dan antrean peristiwa hanya ada di sesi saat ini. Jika Anda menutup sesi saat ini, antrean peristiwa akan dibuang dan langganan acara dibatalkan.
Link Terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk