2019-12-13 09:48:00 -05:00
|
|
|
################################################################################
|
|
|
|
|
## File: Finalize-VM.ps1
|
2020-06-15 21:30:17 +02:00
|
|
|
## Desc: Clean up temp folders after installs to save space
|
2019-12-13 09:48:00 -05:00
|
|
|
################################################################################
|
|
|
|
|
|
|
|
|
|
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 {
|
2020-06-04 22:58:47 -07:00
|
|
|
Takeown /d Y /R /f $_ | Out-Null
|
2019-12-13 09:48:00 -05:00
|
|
|
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'
|