Write EventLog - PowerShell


The Write-EventLog command allows you to write custom events to the Windows Event Log. It’s a powerful tool for logging messages, errors, and debugging information that can be helpful for troubleshooting and monitoring your system.


Write-EventLog [-LogName] <String> [-Source] <String> [-Message] <String> [-Category] <Number> [-EventId] <Number> [-EntryType] <EventEntryType> [-ComputerName] <String> [-Credential] <PSCredential> [-Filter] <String> [-Force] [-NoReplace] [-Parameter] <String[]> [-UseExistingLog] [-FileAsXml] <String> [-ErrorAction] <ErrorAction>


  • -LogName: Specifies the name of the event log to write to.
  • -Source: Specifies the source of the event. This is typically the name of your application or script.
  • -Message: Specifies the message to write to the event log.
  • -Category: Specifies the category of the event. The default is 0.
  • -EventId: Specifies the event ID. The default is 0.
  • -EntryType: Specifies the type of event. The default is Information.
  • -ComputerName: Specifies the computer name to write the event to. The default is the local computer.
  • -Credential: Specifies a credential object used to connect to the remote computer.
  • -Filter: Specifies a filter to apply to the events.
  • -Force: Overwrite an existing event log entry with the same ID.
  • -NoReplace: Prevent overwriting an existing event log entry with the same ID.
  • -Parameter: Specifies additional parameters to pass to the event log entry.
  • -UseExistingLog: Use an existing event log instead of creating a new one.
  • -FileAsXml: File event log entry as XML to the specified file path.
  • -ErrorAction: Specifies how errors should be handled.


Example 1: Write a simple event to the System log

Write-EventLog -LogName System -Source "MyApplication" -Message "This is a test message."

Example 2: Write a detailed event to a custom log

Write-EventLog -LogName MyCustomLog -Source "MyApplication" -Message "An error occurred while processing the file." -Category "Error" -EventId 1000

Example 3: Write an event to a remote computer using a credential

$credential = Get-Credential
Write-EventLog -LogName System -Source "MyApplication" -Message "This is a message from a remote computer." -ComputerName "RemoteComputer" -Credential $credential

Common Issues

  • Event log not found: Make sure the event log exists and you have sufficient permissions to write to it.
  • Invalid parameter values: Check the syntax and make sure you are specifying valid values for the parameters.
  • Credential errors: Ensure you have the correct credentials and permissions to write to the event log on the specified computer.
  • Filter issues: Use a valid filter expression that matches the desired events.


You can combine Write-EventLog with other PowerShell commands to build powerful logging solutions. For example, you can use it with Get-WinEvent to retrieve and process event log entries.