How to write an event log entry with structured XML data? How to write an event log entry with structured XML data? powershell powershell

How to write an event log entry with structured XML data?


Here's the real answer on how to do this: https://kevinholman.com/2016/04/02/writing-events-with-parameters-using-powershell/

#Script to create events with parameters#Define the event log and your custom event source$evtlog = "Application"$source = "MyEventSource"#These are just examples to pass as parameters to the event$hostname = "computername.domain.net"$timestamp = (get-date)#Load the event source to the log if not already loaded.  This will fail if the event source is already assigned to a different log.if ([System.Diagnostics.EventLog]::SourceExists($source) -eq $false) {    [System.Diagnostics.EventLog]::CreateEventSource($source, $evtlog)}#function to create the events with parametersfunction CreateParamEvent ($evtID, $param1, $param2, $param3)  {    $id = New-Object System.Diagnostics.EventInstance($evtID,1); #INFORMATION EVENT    #$id = New-Object System.Diagnostics.EventInstance($evtID,1,2); #WARNING EVENT    #$id = New-Object System.Diagnostics.EventInstance($evtID,1,1); #ERROR EVENT    $evtObject = New-Object System.Diagnostics.EventLog;    $evtObject.Log = $evtlog;    $evtObject.Source = $source;    $evtObject.WriteEvent($id, @($param1,$param2,$param3))  }#Command line to call the function and pass whatever you likeCreateParamEvent 1234 "The server $hostname was logged at $timestamp" $hostname $timestamp