New-WinEvent
Membuat acara Windows baru untuk penyedia acara yang sudah ditentukan.
Sintaks
Default (Default)
New-WinEvent
[-ProviderName] <String>
[-Id] <Int32>
[-Version <Byte>]
[[-Payload] <Object[]>]
[<CommonParameters>]
Deskripsi
Cmdlet ini hanya tersedia di platform Windows.
Cmdlet New-WinEvent membuat acara Pelacakan Peristiwa untuk Windows (ETW) bagi penyedia acara.
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 cmdlet New-WinEvent untuk membuat peristiwa 45090 untuk penyediaWindows-PowerShell Microsoft.
Contoh 2 - Dapatkan templat untuk acara
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 akan ditulis ke log peristiwa. Nilai %3 dan %1 adalah placeholder untuk nilai yang dimasukkan ke dalam template. String %3 diganti dengan nilai yang diteruskan ke field 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 acara yang terdaftar di penyedia acara.
Properti parameter
| Jenis: | Int32 |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | 1 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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.
Properti parameter
| Jenis: | Object[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | 2 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Version
Menentukan nomor versi acara. PowerShell mengonversi angka ke jenis Byte yang diperlukan. Nilai menentukan versi peristiwa ketika versi yang berbeda dari peristiwa yang sama ditentukan.
Properti parameter
| Jenis: | Byte |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
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 cmdlet Get-WinEvent untuk mendapatkan peristiwa dari log peristiwa.