New-WinEvent
Crea un nuovo evento di Windows per il provider di eventi specificato.
Sintassi
Default (Impostazione predefinita)
New-WinEvent
[-ProviderName] <String>
[-Id] <Int32>
[-Version <Byte>]
[[-Payload] <Object[]>]
[<CommonParameters>]
Descrizione
Il cmdlet New-WinEvent crea un evento Event Tracing for Windows (ETW) per un provider di eventi.
È possibile usare questo cmdlet per aggiungere eventi ai canali ETW da PowerShell.
Esempio
Esempio 1 - Creare un nuovo evento
New-WinEvent -ProviderName Microsoft-Windows-PowerShell -Id 45090 -Payload @("Workflow", "Running")
Questo comando usa il cmdlet New-WinEvent per creare l'evento 45090 per il provider Microsoft-Windows-PowerShell.
Esempio 2: ottenere il modello per un evento
In questo esempio, Get-WinEvent viene usato per ottenere il modello per l'ID evento 8007 dal provider di eventi criteri di gruppo. Si noti che l'evento ha due formati.
Nella versione 0 il campo IsMachine è un valore booleano. Nella versione 1 il campo IsMachine è un valore intero senza segno.
(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.
La proprietà Description contiene il messaggio scritto nel registro eventi. Il valore %3 e %1 sono segnaposto per i valori passati nel modello. La stringa %3 viene sostituita con il valore passato al campo PrincipalSamName. La %1 stringa viene sostituita con il valore passato al campo PolicyElaspedTimeInSeconds .
Esempio 3: Creare un nuovo evento usando un modello con controllo delle versioni
In questo esempio viene illustrato come creare un evento usando una versione specifica del modello.
$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
Se i valori nel payload non corrispondono ai tipi nel modello, l'evento viene registrato ma il payload contiene un errore.
Parametri
-Id
Specifica un ID evento registrato nel provider di eventi.
Proprietà dei parametri
| Tipo: | Int32 |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 2 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Payload
Il payload è una matrice di valori passati come argomenti posizionali al modello di evento. I valori vengono inseriti nel modello per costruire il messaggio per l'evento. Gli eventi possono avere più versioni del modello che usano formati diversi.
Se i valori nel payload non corrispondono ai tipi nel modello, l'evento viene registrato ma il payload contiene un errore.
Proprietà dei parametri
| Tipo: | Object[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 3 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-ProviderName
Specifica il provider di eventi che scrive l'evento in un registro eventi, ad esempio "Microsoft-Windows-PowerShell". Un provider di eventi ETW è un'entità logica che scrive eventi in sessioni ETW.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 1 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Version
Specifica il numero di versione dell'evento. PowerShell converte il numero nel tipo byte richiesto. Il valore specifica la versione dell'evento quando vengono definite versioni diverse dello stesso evento.
Proprietà dei parametri
| Tipo: | Byte |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
None
Gli oggetti non possono essere inviati tramite pipe a questo cmdlet.
Output
None
Questo cmdlet non restituisce alcun output.
Note
Dopo che il provider scrive l'evento in un log eventi, è possibile usare il cmdlet Get-WinEvent per ottenere l'evento dal registro eventi.