Added cleanup script for caching and temp dirs
This commit is contained in:
95
Task_scripts/Win - Cleanup cache and temp.ps1
Normal file
95
Task_scripts/Win - Cleanup cache and temp.ps1
Normal file
@@ -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 <info@dcomputers.nl>
|
||||||
|
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"
|
||||||
Reference in New Issue
Block a user