Aracılığıyla paylaş


New-WinEvent

Belirtilen olay sağlayıcısı için yeni bir Windows olayı oluşturur.

Sözdizimi

New-WinEvent
   [-ProviderName] <String>
   [-Id] <Int32>
   [-Version <Byte>]
   [[-Payload] <Object[]>]
   [<CommonParameters>]

Description

Bu cmdlet yalnızca Windows platformunda kullanılabilir.

New-WinEvent cmdlet'i, bir olay sağlayıcısı için Windows için Olay İzleme (ETW) olayı oluşturur. PowerShell'den ETW kanallarına olay eklemek için bu cmdlet'i kullanabilirsiniz.

Örnekler

Örnek 1 - Yeni olay oluşturma

New-WinEvent -ProviderName Microsoft-Windows-PowerShell -Id 45090 -Payload @("Workflow", "Running")

Bu komut, Microsoft-Windows-PowerShell sağlayıcısı için olay 45090 oluşturmak üzere New-WinEvent cmdlet'ini kullanır.

Örnek 2 - Bir olayın şablonunu alma

Bu örnekte Get-WinEvent, Grup İlkesi olay sağlayıcısından olay kimliği 8007 şablonunu almak için kullanılır. Olayın iki biçimi olduğuna dikkat edin.

Sürüm 0'da IsMachine alanı boole değeridir. Sürüm 1'de IsMachine alanı işaretsiz bir tamsayı değeridir.

(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.

Açıklama özelliği, olay günlüğüne yazılan iletiyi içerir. %3 ve %1 değeri, şablona geçirilen değerlerin yer tutucularıdır. %3 dizesi, PrincipalSamName alanına geçirilen değerle değiştirilir. %1 dizesi, PolicyElaspedTimeInSeconds alanına geçirilen değerle değiştirilir.

Örnek 3 - Sürümlenmiş şablon kullanarak yeni olay oluşturma

Bu örnekte, belirli bir şablon sürümünü kullanarak bir olayın nasıl oluşturulacağı gösterilmektedir.

$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

Yükteki değerler şablondaki türlerle eşleşmiyorsa olay günlüğe kaydedilir ancak yük bir hata içerir.

Parametreler

-Id

Olay sağlayıcısında kayıtlı bir olay kimliği belirtir.

Tür:Int32
Position:1
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Payload

Yük, olay şablonuna konumsal bağımsız değişken olarak geçirilen bir değer dizisidir. Değerler, olayın iletisini oluşturmak için şablona eklenir. Olaylar, farklı biçimler kullanan birden çok şablon sürümüne sahip olabilir.

Yükteki değerler şablondaki türlerle eşleşmiyorsa olay günlüğe kaydedilir ancak yük bir hata içerir.

Tür:Object[]
Position:2
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-ProviderName

Olayı "Microsoft-Windows-PowerShell" gibi bir olay günlüğüne yazan olay sağlayıcısını belirtir. ETW olay sağlayıcısı, ETW oturumlarına olay yazan mantıksal bir varlıktır.

Tür:String
Position:0
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Version

Olayın sürüm numarasını belirtir. PowerShell, sayıyı gerekli Bayt türüne dönüştürür. değeri, aynı olayın farklı sürümleri tanımlandığında olayın sürümünü belirtir.

Tür:Byte
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

Girişler

None

Nesneleri bu cmdlet'e yöneltemezsiniz.

Çıkışlar

None

Bu cmdlet çıkış döndürmez.

Notlar

Sağlayıcı olayı bir olay günlüğüne yazdıktan sonra, olayı olay günlüğünden almak için Get-WinEvent cmdlet'ini kullanabilirsiniz.