35 lines
1 KiB
PowerShell
35 lines
1 KiB
PowerShell
function Get-PCEventLog {
|
|
|
|
param (
|
|
[parameter(ValueFromPipeline)]
|
|
[string]$cn
|
|
)
|
|
|
|
if(!(Test-Connection -ComputerName $cn -Count 1)){
|
|
|
|
Write-Warning "$cn is unreachable"
|
|
return
|
|
}
|
|
|
|
$day = Read-Host "Number of days back (max 10)"
|
|
|
|
if($day -in 1..10){
|
|
$days = (Get-Date) - (New-TimeSpan -Day $day)
|
|
}
|
|
else {
|
|
Write-Warning "Days out of range: Defaulting to 10"
|
|
$days = (Get-Date) - (New-TimeSpan -Day 11)
|
|
}
|
|
|
|
$outputTitle = "$cn | System Error Logs | Last $Day Days"
|
|
|
|
$events = @()
|
|
$events += Get-WinEvent -ComputerName $cn -FilterHashtable @{ LogName='System'; Level=1; StartTime=$days }
|
|
$events += Get-WinEvent -ComputerName $cn -FilterHashtable @{ LogName='System'; Level=2; StartTime=$days }
|
|
$events += Get-WinEvent -ComputerName $cn -FilterHashtable @{ LogName='System'; Level=3; StartTime=$days }
|
|
|
|
$events | Out-GridView -Title $outputTitle
|
|
|
|
return
|
|
}
|