$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)) }