Open IIS Console
Go to Application Pools -> WsusPool -> Right Click -> Advanced Settings
Increase Private Memory Limit OR set to 0 for unlimited memory
Close IIS Console
Go to Services -> IIS Admin Service and restart the service
Create a file called CleanupWsus.ps1 and put the following script in it:
$Log = "C:\script\dir\Cleanup_WSUS.log"
Get-Date -Format "yyyy-MM-dd" | Out-File $Log -Append
try {
Get-WsusServer | Invoke-WsusServerCleanup -CleanupObsoleteComputers | Out-File $Log -Append
Get-WsusServer | Invoke-WsusServerCleanup -DeclineExpiredUpdates | Out-File $Log -Append
Get-WsusServer | Invoke-WsusServerCleanup -DeclineSupersededUpdates | Out-File $Log -Append
Get-WsusServer | Invoke-WsusServerCleanup -CleanupObsoleteUpdates | Out-File $Log -Append
Get-WsusServer | Invoke-WsusServerCleanup -CompressUpdates | Out-File $Log -Append
Get-WsusServer | Invoke-WsusServerCleanup -CleanupUnneededContentFiles | Out-File $Log -Append
}
catch {
"Cleanup Failed" | Out-File $Log -Append
$_ | Out-File $Log -Append
}
Go to Task Scheduler
Create Task
Set it up as in image 1
Add an action
Set it up as in image 2
Image 2 argument text:
-File "C:\script\dir\Cleanup_WSUS.ps1"