Windowsin tapahtumalokien tulisi pysyä järjestelmässä vähintään 7 päivää, jotta voit tarkastella niitä vianetsintää tai muita tarkoituksia varten. Oletusarvoisesti tapahtumalokit korvataan, kun tapahtumalokin enimmäiskoko saavutetaan. Tämä tarkoittaa, että sinulla ei ole tarpeeksi lokihistoriaa, mikä voi aiheuttaa ongelmia. Tässä artikkelissa opit hankkimaan Windows Event Log Age -ohjelman PowerShell-komentosarjan avulla.
Windows Event Log Age PowerShell-komentosarja
Get-EventLogAge.ps1 PowerShell-komentosarja tarkistaa kaikki järjestelmän tapahtumalokikansiot ja antaa sinulle raportin, jossa on seuraavat tiedot:
- LogName
- Vanhin Tapahtumapäivämäärä
- Uusin Tapahtumapäivämäärä
- Päiviä vanhimmasta tapahtumasta
- Suurin koko MB
- Käytetty prosenttiosuus
Lataa Windows Event Log Age PowerShell-komentosarja
Luo kaksi kansiota(C:)ajaa:
- Käsikirjoitukset
- Temp
Lataa ja aseta Get-EventLogAge.ps1 PowerShell-komentosarja järjestelmäänC: scriptskansio. Jos sinulla ei ole komentosarjakansiota, luo sellainen.
Varmista, että tiedosto on estetty estääksesi virheet komentosarjaa suoritettaessa. Lue lisää artikkelista Ei digitaalisesti allekirjoitettu virhe PowerShell-skriptiä suoritettaessa.
Toinen vaihtoehto on kopioida ja liittää alla oleva koodi Muistioon. Anna sille nimiGet-EventLogAge.ps1ja aseta se C:scripts-kansioon.
<#
.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:tempEventLogAgeReport.csv"
# Get the current date
$currentDate = Get-Date
# Get all log names
$logNames = Get-WinEvent -ListLog * | Select-Object -ExpandProperty LogName
# Create a generic list to store report data
$Report = [System.Collections.Generic.List[Object]]::new()
# 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
$ReportLine = [PSCustomObject]@{
LogName = $logName
OldestEventDate = $oldestEvent.TimeCreated
NewestEventDate = $newestEvent.TimeCreated
DaysSinceOldestEvent = "$daysAgo"
MaxSizeMB = "$maxSize MB"
PercentageUsed = "$percentageUsed %"
}
$Report.Add($ReportLine)
}
else {
$ReportLine = [PSCustomObject]@{
LogName = $logName
OldestEventDate = "No events found"
NewestEventDate = "No events found"
DaysSinceOldestEvent = "N/A"
MaxSizeMB = "$maxSize MB"
PercentageUsed = "$percentageUsed %"
}
$Report.Add($ReportLine)
}
}
# Export the results to a CSV file
$Report | Export-Csv -Path $CsvPath -NoTypeInformation -Encoding Utf8Tältä se näyttää.

Suorita Hanki Windows Event Log Age PowerShell-komentosarja
Vie Windowsin tapahtumalokien ikäraportti CSV-tiedostoon.
Suorita PowerShell järjestelmänvalvojana ja suorita alla oleva komento.
Lue myös:Tehtävien ajoitus PowerShell-komentosarjan ja sähköpostihälytyksiä suorittamiseen
C:scripts.Get-EventLogAge.ps1Etsi tiedostoEventLogAgeReport.csvpolullaC: temp.

Avaa CSV-tiedosto suosikkisovelluksellasi. Esimerkissämme se on Microsoft Excel.

Raportti näyttää hyvältä!
Johtopäätös
Opit saamaan Windows Event Log Age -ohjelman PowerShell-komentosarjan avulla. Suorita komentosarja ja katso kaikki tiedot raportista. Muista, että vähintään 7 päivän tapahtumalokihistoria on saatavilla sinulle tärkeille kansioille.
Piditkö tästä artikkelista? Saatat myös pitää Tarkista vapaa levytila Windowsissa PowerShell-skriptillä. Älä unohda seurata meitä ja jakaa tämä artikkeli.














