New-WinEvent
Membuat peristiwa Windows baru untuk penyedia peristiwa yang ditentukan.
Sintaks
New-WinEvent
[-ProviderName] <String>
[-Id] <Int32>
[-Version <Byte>]
[[-Payload] <Object[]>]
[<CommonParameters>]
Deskripsi
New-WinEvent
Cmdlet membuat peristiwa Pelacakan Peristiwa untuk Windows (ETW) untuk penyedia peristiwa.
Anda dapat menggunakan cmdlet ini untuk menambahkan peristiwa ke saluran ETW dari PowerShell.
Contoh
Contoh 1 - Membuat peristiwa baru
New-WinEvent -ProviderName Microsoft-Windows-PowerShell -Id 45090 -Payload @("Workflow", "Running")
Perintah ini menggunakan New-WinEvent
cmdlet untuk membuat peristiwa 45090 untuk penyedia Microsoft-Windows-PowerShell.
Contoh 2 - Dapatkan templat untuk peristiwa
Dalam contoh ini, Get-WinEvent
digunakan untuk mendapatkan templat untuk id peristiwa 8007 dari penyedia peristiwa Kebijakan Grup. Perhatikan bahwa peristiwa memiliki dua format.
Di versi 0, bidang IsMachine adalah nilai boolean. Di versi 1, bidang IsMachine adalah nilai bilangan bulat yang tidak ditandatangani.
(Get-WinEvent -ListProvider Microsoft-Windows-GroupPolicy).Events | Where-Object Id -eq 8007
Id : 8007
Version : 0
LogLink : System.Diagnostics.Eventing.Reader.EventLogLink
Level : System.Diagnostics.Eventing.Reader.EventLevel
Opcode : System.Diagnostics.Eventing.Reader.EventOpcode
Task : System.Diagnostics.Eventing.Reader.EventTask
Keywords : {}
Template : <template xmlns="http://schemas.microsoft.com/win/2004/08/events">
<data name="PolicyElaspedTimeInSeconds" inType="win:UInt32" outType="xs:unsignedInt"/>
<data name="ErrorCode" inType="win:UInt32" outType="win:HexInt32"/>
<data name="PrincipalSamName" inType="win:UnicodeString" outType="xs:string"/>
<data name="IsMachine" inType="win:Boolean" outType="xs:boolean"/>
<data name="IsConnectivityFailure" inType="win:Boolean" outType="xs:boolean"/>
</template>
Description : Completed periodic policy processing for user %3 in %1 seconds.
Id : 8007
Version : 1
LogLink : System.Diagnostics.Eventing.Reader.EventLogLink
Level : System.Diagnostics.Eventing.Reader.EventLevel
Opcode : System.Diagnostics.Eventing.Reader.EventOpcode
Task : System.Diagnostics.Eventing.Reader.EventTask
Keywords : {}
Template : <template xmlns="http://schemas.microsoft.com/win/2004/08/events">
<data name="PolicyElaspedTimeInSeconds" inType="win:UInt32" outType="xs:unsignedInt"/>
<data name="ErrorCode" inType="win:UInt32" outType="win:HexInt32"/>
<data name="PrincipalSamName" inType="win:UnicodeString" outType="xs:string"/>
<data name="IsMachine" inType="win:UInt32" outType="xs:unsignedInt"/>
<data name="IsConnectivityFailure" inType="win:Boolean" outType="xs:boolean"/>
</template>
Description : Completed periodic policy processing for user %3 in %1 seconds.
Properti Deskripsi berisi pesan yang ditulis ke log peristiwa. Nilai %3
dan %1
adalah tempat penampung untuk nilai yang diteruskan ke templat. String %3
diganti dengan nilai yang diteruskan ke bidang PrincipalSamName . String %1
diganti dengan nilai yang diteruskan ke bidang PolicyElaspedTimeInSeconds .
Contoh 3 - Membuat peristiwa baru menggunakan templat versi
Contoh ini menunjukkan cara membuat peristiwa menggunakan versi templat tertentu.
$Payload = @(300, [uint32]'0x8001011f', $env:USERNAME, 0, 1)
New-WinEvent -ProviderName Microsoft-Windows-GroupPolicy -Id 8007 -Version 1 -Payload $Payload
Get-winEvent -ProviderName Microsoft-Windows-GroupPolicy -MaxEvents 1
ProviderName: Microsoft-Windows-GroupPolicy
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
5/4/2022 8:40:24 AM 8007 Information Completed periodic policy processing for user User1 in 300 seconds
Jika nilai dalam payload tidak cocok dengan jenis dalam templat, peristiwa dicatat tetapi payload berisi kesalahan.
Parameter
-Id
Menentukan Id peristiwa yang terdaftar di penyedia peristiwa.
Jenis: | Int32 |
Position: | 2 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Payload
Payload adalah array nilai yang diteruskan sebagai argumen posisi ke templat peristiwa. Nilai disisipkan ke dalam templat untuk membuat pesan untuk peristiwa tersebut. Peristiwa dapat memiliki beberapa versi templat yang menggunakan format yang berbeda.
Jika nilai dalam payload tidak cocok dengan jenis dalam templat, peristiwa dicatat tetapi payload berisi kesalahan.
Jenis: | Object[] |
Position: | 3 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ProviderName
Menentukan penyedia peristiwa yang menulis peristiwa ke log peristiwa, seperti "Microsoft-Windows-PowerShell". Penyedia peristiwa ETW adalah entitas logis yang menulis peristiwa ke sesi ETW.
Jenis: | String |
Position: | 1 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Version
Menentukan nomor versi peristiwa. PowerShell mengonversi angka ke jenis Byte yang diperlukan. Nilai menentukan versi peristiwa ketika versi yang berbeda dari peristiwa yang sama ditentukan.
Jenis: | Byte |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
None
Anda tidak dapat menyalurkan objek ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output.
Catatan
Setelah penyedia menulis peristiwa ke eventlog, Anda dapat menggunakan Get-WinEvent
cmdlet untuk mendapatkan peristiwa dari log peristiwa.