From fc2a377587bcdb21881653a6711985d53d0968f3 Mon Sep 17 00:00:00 2001 From: Danny de Kooker Date: Sat, 16 Sep 2023 15:06:33 +0200 Subject: [PATCH] Added cleanup script for caching and temp dirs --- Task_scripts/Win - Cleanup cache and temp.ps1 | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 Task_scripts/Win - Cleanup cache and temp.ps1 diff --git a/Task_scripts/Win - Cleanup cache and temp.ps1 b/Task_scripts/Win - Cleanup cache and temp.ps1 new file mode 100644 index 0000000..d6a444b --- /dev/null +++ b/Task_scripts/Win - Cleanup cache and temp.ps1 @@ -0,0 +1,95 @@ +<# + .SYNOPSIS + Cleanup all temporary data from browsers, temp files and windows update files. + + .DESCRIPTION + This script can be scheduled or can be triggered manually in order to cleanup all temp folders inside of windows. + This includes the following folder: + - C:\Temp + - C:\Windows\Temp + - C:\Windows\SoftwareDistribution\Downloads + - Caching from Google Chrome + - Caching from Firefox + - Caching from Internet Explorer + - Caching from Microsoft Edge + - Emtpy Recycle bin + + .OUTPUTS + This script will clean all temporary files and folders from the computer. + + Errorcodes: + n/a + + .EXAMPLE + Win - Cleanup cache and temp.ps1 + + .NOTES + Author: D.de Kooker + Source: n/a + + .CHANGELOG + 15-09-2023 - Initial script. + 16-09-2023 - Added total space saved output at the end of the script. +#> + +#region Parameters + +#endregion + +#region functions + function Cleanup-AllTemps { + $AllUsers = Get-ChildItem -Path "C:\Users" -Directory + foreach ($user in $Allusers){ + Remove-Item -Path "C:\Users\$user\AppData\Local\Temp\*" -Recurse -Force -EA SilentlyContinue -Verbose + } + + Remove-Item -Path "C:\Temp\*" -Recurse -Force -EA SilentlyContinue -Verbose + Remove-Item -Path "C:\Windows\Temp\*" -Recurse -Force -EA SilentlyContinue -Verbose + Remove-Item -Path "C:\Windows\SoftwareDistribution\Download\*" -Recurse -Force -EA SilentlyContinue -Verbose + } + + function Cleanup-BrowserCaches { + $AllUsers = Get-ChildItem -Path "C:\Users" -Directory + foreach ($user in $AllUsers) { + #Firefox + Remove-Item -path "C:\Users\$user\AppData\Local\Mozilla\Firefox\Profiles\*.default\cache\*" -Recurse -Force -EA SilentlyContinue -Verbose + Remove-Item -path "C:\Users\$user\AppData\Local\Mozilla\Firefox\Profiles\*.default\cache\*.*" -Recurse -Force -EA SilentlyContinue -Verbose + Remove-Item -path "C:\Users\$user\AppData\Local\Mozilla\Firefox\Profiles\*.default\cache2\entries\*.*" -Recurse -Force -EA SilentlyContinue -Verbose + Remove-Item -path "C:\Users\$user\AppData\Local\Mozilla\Firefox\Profiles\*.default\thumbnails\*" -Recurse -Force -EA SilentlyContinue -Verbose + # Remove-Item -path "C:\Users\$user\AppData\Local\Mozilla\Firefox\Profiles\*.default\cookies.sqlite" -Recurse -Force -EA SilentlyContinue -Verbose + Remove-Item -path "C:\Users\$user\AppData\Local\Mozilla\Firefox\Profiles\*.default\webappsstore.sqlite" -Recurse -Force -EA SilentlyContinue -Verbose + Remove-Item -path "C:\Users\$user\AppData\Local\Mozilla\Firefox\Profiles\*.default\chromeappsstore.sqlite" -Recurse -Force -EA SilentlyContinue -Verbose + + #Chrome + Remove-Item -path "C:\Users\$user\AppData\Local\Google\Chrome\User Data\Default\Cache\*" -Recurse -Force -EA SilentlyContinue -Verbose + Remove-Item -path "C:\Users\$user\AppData\Local\Google\Chrome\User Data\Default\Cache2\entries\*" -Recurse -Force -EA SilentlyContinue -Verbose + # Remove-Item -path "C:\Users\$user\AppData\Local\Google\Chrome\User Data\Default\Cookies" -Recurse -Force -EA SilentlyContinue -Verbose + Remove-Item -path "C:\Users\$user\AppData\Local\Google\Chrome\User Data\Default\Media Cache" -Recurse -Force -EA SilentlyContinue -Verbose + Remove-Item -path "C:\Users\$user\AppData\Local\Google\Chrome\User Data\Default\Cookies-Journal" -Recurse -Force -EA SilentlyContinue -Verbose + + #Internet Explorer + Remove-Item -path "C:\Users\$user\AppData\Local\Microsoft\Windows\Temporary Internet Files\*" -Recurse -Force -EA SilentlyContinue -Verbose + Remove-Item -path "C:\Users\$user\AppData\Local\Microsoft\Windows\WER\*" -Recurse -Force -EA SilentlyContinue -Verbose + + #Microsoft Edge + Remove-Item -path "C:\Users\$user\AppData\Local\Microsoft\Edge\User Data\Default\Cache\*" -Recurse -Force -EA SilentlyContinue -Verbose + } + } +#endregion + +#Script run +$Starting_Diskspace = (Get-PSDrive C).Used / 1GB + +Write-Host "Starting cleanup" +Cleanup-AllTemps +Cleanup-BrowserCaches +Clear-RecycleBin -Force -EA SilentlyContinue -Verbose +Write-Host "Cleanup completed.. Retrieving statistics.." + +$Ending_Diskspace = (Get-PSDrive C).Used / 1GB +$SpaceSaved = [math]::Round(($Starting_Diskspace - $Ending_Diskspace), 2) + +# Display the results +Write-Host "Used space before cleanup: $($Starting_Diskspace.ToString("N2")) GB" +Write-Host "Used space after cleanup: $($Ending_Diskspace.ToString("N2")) GB" +Write-Host "Space saved: $($SpaceSaved.ToString("N2")) GB" \ No newline at end of file