$pathToLogs = “C:\WINDOWS\system32\LogFiles\W3SVC1”;
$LogAgeTarget = 183; # Number of days of logs to keep
$dteNow = Get-Dateif (Test-Path $pathToLogs){
$LastWrite = $Now.AddDays(-$LogAgeTarget)
$Files = Get-ChildItem $pathToLogs -include *.log -recurse |
Where {$_.LastWriteTime -le “$LastWrite”}foreach ($File in $Files){
Remove-Item $File -WhatIf | Out-Null
}} Else {
# Log Path does not exist
Write-Host = “Log Path does not exist.”
}
This can be set up as a scheduled task in the control panel using the following as the command to run:
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe “& ‘c:\scripts\pruneIISlogs.ps1′”