Szerezze be a Windows Event Log Age-t PowerShell-szkripttel
A Windows eseménynaplóinak legalább 7 napig a rendszeren kell maradniuk, hogy hibaelhárítás vagy bármilyen más célból megtekinthesse őket. Alapértelmezés szerint a rendszer felülírja az eseménynaplókat, amikor eléri a maximális eseménynaplóméretet. Ez azt jelenti, hogy nem lesz elegendő naplózási előzménye, ami problémákat okozhat. Ebből a cikkből megtudhatja, hogyan szerezheti be a Windows Event Log Age PowerShell-parancsfájlt.
Windows Event Log Age PowerShell-szkript
A Get-EventLogAge.ps1 PowerShell szkript ellenőrzi a rendszer összes eseménynapló-mappáját, és jelentést készít az alábbi információkkal:
- LogName
- LegrégebbiEventDate
- LegújabbEventDate
- Napok a legrégebbi esemény óta
- MaxSizeMB
- Felhasznált százalék
Töltse le a Windows Event Log Age PowerShell-szkriptet
Hozzon létre két mappát a (C:) meghajtón:
- Szkriptek
- Temp
Töltse le és helyezze el a Get-EventLogAge.ps1 PowerShell-szkriptet a rendszer C:\scripts mappájába. Ha nincs szkriptek mappája, hozzon létre egyet.
Győződjön meg arról, hogy a fájl blokkolása fel van oldva, hogy elkerülje a hibákat a parancsfájl futtatásakor. További információ a cikkben: Nem digitálisan aláírt hiba a PowerShell-szkript futtatásakor.
Egy másik lehetőség az alábbi kód másolása és beillesztése a Jegyzettömbbe. Adja meg a Get-EventLogAge.ps1 nevet, és helyezze a C:\scripts mappába.
<#
.SYNOPSIS
Get-EventLogAge.ps1
.DESCRIPTION
Export the oldest and newest event logs dates to a CSV file.
.LINK
www.alitajran.com/get-windows-event-log-age-powershell-script/
.NOTES
Written by: ALI TAJRAN
Website: www.alitajran.com
LinkedIn: linkedin.com/in/alitajran
.CHANGELOG
V1.00, 08/22/2024 - Initial version
#>
# CSV file path to export
$CsvPath = "C:\temp\EventLogAgeReport.csv"
# Get the current date
$currentDate = Get-Date
# Get all log names
$logNames = Get-WinEvent -ListLog * | Select-Object -ExpandProperty LogName
# Create an array to hold the results
$results = @()
# Iterate through each log and find the oldest and newest events
foreach ($logName in $logNames) {
# Get the oldest event directly
$oldestEvent = Get-WinEvent -LogName $logName -MaxEvents 1 -Oldest -ErrorAction SilentlyContinue |
Select-Object -Property TimeCreated
# Get the newest event directly
$newestEvent = Get-WinEvent -LogName $logName -MaxEvents 1 -ErrorAction SilentlyContinue |
Select-Object -Property TimeCreated
# Get the log's maximum size and current size
$logInfo = Get-WinEvent -ListLog $logName
$maxSize = [math]::Round($logInfo.MaximumSizeInBytes / 1048576, 2)
$currentSize = [math]::Round($logInfo.FileSize / 1048576, 2)
if ($maxSize -ne 0) {
$percentageUsed = [math]::Round(($currentSize / $maxSize) * 100, 2)
}
else {
$percentageUsed = "N/A"
}
if ($oldestEvent) {
# Calculate the number of days since the oldest event
$daysAgo = ($currentDate - $oldestEvent.TimeCreated).Days
$results += [PSCustomObject]@{
LogName = $logName
OldestEventDate = $oldestEvent.TimeCreated
NewestEventDate = $newestEvent.TimeCreated
DaysSinceOldestEvent = "$daysAgo"
MaxSizeMB = "$maxSize MB"
PercentageUsed = "$percentageUsed %"
}
}
else {
$results += [PSCustomObject]@{
LogName = $logName
OldestEventDate = "No events found"
NewestEventDate = "No events found"
DaysSinceOldestEvent = "N/A"
MaxSizeMB = "$maxSize MB"
PercentageUsed = "$percentageUsed %"
}
}
}
# Export the results to a CSV file
$results | Export-Csv -Path $CsvPath -NoTypeInformationÍgy néz ki.
Futtassa a Windows Event Log Age PowerShell-parancsfájl beszerzése
Exportálja a Windows Eseménynaplók életkorjelentését CSV-fájlba.
Futtassa a PowerShellt rendszergazdaként, és futtassa az alábbi parancsot.
C:\scripts\.\Get-EventLogAge.ps1Keresse meg az EventLogAgeReport.csv fájlt a C:\temp útvonalon.
Nyissa meg a CSV-fájlt kedvenc alkalmazásával. Példánkban ez a Microsoft Excel.
Jól néz ki a riport!
Bővebben: Active Directory állapotellenőrzés PowerShell-szkripttel »
Következtetés
Megtanulta, hogyan szerezheti be a Windows Event Log Age-t PowerShell-szkripttel. Futtassa a szkriptet, és nézze meg a jelentést az összes részletért. Ne feledje, hogy legalább 7 napos eseménynapló-előzményekkel kell rendelkeznie az Ön számára fontos mappákhoz.
Tetszett ez a cikk? Lehet, hogy tetszeni fog a Szabad lemezterület ellenőrzése Windows rendszeren PowerShell-szkripttel. Ne felejtsen el követni minket és megosztani ezt a cikket.


