Files
runner-images-sangeeth/images/win/scripts/Installers/Finalize-VM.ps1

34 lines
1.0 KiB
PowerShell

################################################################################
## File: Finalize-VM.ps1
## Desc: Clean up folders temp folders after installs to save space
################################################################################
Write-Host "Cleanup WinSxS"
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
$ErrorActionPreference = 'silentlycontinue'
Write-Host "Clean up various directories"
@(
"C:\\Recovery",
"$env:windir\\logs",
"$env:windir\\winsxs\\manifestcache",
"$env:windir\\Temp",
"$env:TEMP"
) | ForEach-Object {
if (Test-Path $_) {
Write-Host "Removing $_"
try {
Takeown /d Y /R /f $_
Icacls $_ /GRANT:r administrators:F /T /c /q 2>&1 | Out-Null
Remove-Item $_ -Recurse -Force | Out-Null
}
catch { $global:error.RemoveAt(0) }
}
}
$winInstallDir = "$env:windir\\Installer"
New-Item -Path $winInstallDir -ItemType Directory -Force
$ErrorActionPreference = 'Continue'