Get-ServerErrors Powershell Function
Here’s a little Powershell function I’m using to check the Event Logs and SQL Server Error Logs in one easy swoop;
function Get-ServerErrors { # Server to check & hours back. Will only support default sql instances # Could add a third param for instance and modify script where appropriate if needed param ($server, [int]$hours); [datetime]$after = $(Get-Date).AddHours(-$hours); # Windows Event Log (Application & System) Errors & Warnings Write-Host "Application Event Log Errors from $server after $after"; Write-Host "========================================================================"; Get-EventLog -ComputerName $server -LogName "Application" -EntryType "Error" -After $after | Format-List; Write-Host "Press any key to continue or ctrl + c to quit"; $r = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown"); Write-Host "System Event Log Errors from $server after $after"; Write-Host "========================================================================"; Get-EventLog -ComputerName $server -LogName "System" -EntryType "Error" -After $after | Format-List; Write-Host "Press any key to continue or ctrl + c to quit"; $r = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown"); Write-Host "Application Event Log Warnings from $server after $after"; Write-Host "========================================================================"; Get-EventLog -ComputerName $server -LogName "Application" -EntryType "Warning" -After $after | Format-List; Write-Host "Press any key to continue or ctrl + c to quit"; $r = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown"); Write-Host "System Event Log Warnings from $server after $after"; Write-Host "========================================================================"; Get-EventLog -ComputerName $server -LogName "System" -EntryType "Warning" -After $after | Format-List; Write-Host "Press any key to continue or ctrl + c to quit"; $r = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown"); # SQL Server Error Log [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") ; $sql_server = new-object ("Microsoft.SqlServer.Management.Smo.Server") $server; $sql_server.ReadErrorLog() | Where-Object {$_.Text -like "Error*" -and $_.LogDate -ge $after}; } |
Usage is as follows;
Get-ServerErrors <server name> <hours back to check>; |















