PowerShell basics: Query Windows Server Event Logs

One of the most standard server administration tasks is trawling through event logs looking for information about an issue you want to . If you're interacting with through PowerShell, you can interact with those event logs using the Get-EventLog, Clear-EventLog, Limit-EventLog, New-EventLog, Remove-EventLog, Show-EventLog and Write-EvengLog cmdlets.

You're most likely to use Get-Eventlog most often. To view which event logs are available, run the command

Get-EventLog -List
Get-EventLog -LogName Security -Newest 10


To pull up event log entries that have a specific type, use the InstanceID parameter. For example, to see the last 10 successful log on events in the Security event log (ID 4624) run the command:

Get-EventLog -LogName Security -InstanceID 4624 -Newest 10


To search an event log for specific words in the event log message, use the Message parameter. For example, to search the Security event log for the word Logoff, use the following command:

Get-EventLog -LogName Security -Message *Logoff*


Get-EventLog is a very useful cmdlet and you'll definitely use it when working with Server Core machines, or if you just want to check if specific events have occurred on computers you manage. 

Learn more

Get-EventLog uses a Win32 API that is deprecated. The results may not be accurate. Use the Get-WinEvent cmdlet instead.

See this note in Microsoft's documentation.


This article was originally published by Microsoft's Secure Blog. You can find the original article here.