Files
shell/powershell/event-log-size.ps1

19 lines
749 B
PowerShell

$logs = Get-EventLog -list
foreach ($log in $logs) {
$logName = $log.LogDisplayName
$logFilePath = Join-Path -Path $env:SystemRoot -ChildPath "System32\winevt\Logs\$($log.LogFileName).evtx"
if (Test-Path $logFilePath) {
$fileSize = (Get-Item $logFilePath).Length / 1MB
} else {
$fileSize = 0
}
# Skip if file size is less than 1 MB
if ($fileSize -lt 1) { continue }
$maxSize = $log.MaximumKilobytes / 1024 # Convert KB to MB
$percentage = if ($maxSize -ne 0) { ($fileSize / $maxSize) * 100 } else { 0 }
Write-Host ("Log Name: {0}`nFile Size: {1:N2} MB`nMaximum Size: {2:N2} MB`nPercentage Full: {3}%`n---" -f $logName, $fileSize, $maxSize, [math]::Round($percentage, 2))
}