Assets/Cleanup-OpsLogs.ps1
|
<#
.SYNOPSIS Cleans up old Ops logs. .PARAMETER DaysToKeep Number of days to keep logs. Default 30. #> param ( [int]$DaysToKeep = 30 ) $LogDir = "C:\Ops\Logs" $CutoffDate = (Get-Date).AddDays(-$DaysToKeep) Write-Output "Cleaning up logs older than $CutoffDate in $LogDir" Get-ChildItem -Path $LogDir -File | Where-Object { $_.LastWriteTime -lt $CutoffDate } | ForEach-Object { try { Remove-Item -Path $_.FullName -Force Write-Output "Deleted: $($_.Name)" } catch { Write-Error "Failed to delete $($_.Name): $_" } } |