Bagikan melalui


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.