Files
Scripts/uppdatera_windows.ps1

81 lines
2.1 KiB
PowerShell

Write-Host "=== Windows-underhåll startar ===" -ForegroundColor Green
Write-Host ""
# Diskutrymme före
$diskBefore = (Get-PSDrive C).Free / 1GB
Write-Host "Uppdaterar Winget-källor..." -ForegroundColor Green
winget source update
Write-Host ""
Write-Host "Installerar Winget-uppdateringar..." -ForegroundColor Green
winget upgrade --all `
--accept-package-agreements `
--accept-source-agreements
Write-Host ""
Write-Host "Installerar Windows Updates..." -ForegroundColor Green
Import-Module PSWindowsUpdate -ErrorAction SilentlyContinue
Get-WindowsUpdate -Install -AcceptAll -IgnoreReboot
Write-Host ""
Write-Host "Rensar gamla Windows-komponenter..." -ForegroundColor Green
DISM /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Write-Host ""
Write-Host "Rensar temporära filer..." -ForegroundColor Green
Remove-Item "$env:TEMP\*" `
-Recurse `
-Force `
-ErrorAction SilentlyContinue
Remove-Item "C:\Windows\Temp\*" `
-Recurse `
-Force `
-ErrorAction SilentlyContinue
Write-Host "Temporära filer rensade." -ForegroundColor Green
Write-Host ""
Write-Host "Rensar Windows Update-cache..." -ForegroundColor Green
Stop-Service wuauserv -Force -ErrorAction SilentlyContinue
Remove-Item "C:\Windows\SoftwareDistribution\Download\*" `
-Recurse `
-Force `
-ErrorAction SilentlyContinue
Start-Service wuauserv
Write-Host "Windows Update-cache rensad." -ForegroundColor Green
Write-Host ""
Write-Host "Kontrollerar om fler Winget-uppdateringar finns..." -ForegroundColor Green
winget upgrade
Write-Host ""
# Diskutrymme efter
$diskAfter = (Get-PSDrive C).Free / 1GB
$freed = $diskAfter - $diskBefore
Write-Host ("Diskutrymme före : {0:N2} GB" -f $diskBefore) -ForegroundColor Cyan
Write-Host ("Diskutrymme efter : {0:N2} GB" -f $diskAfter) -ForegroundColor Cyan
Write-Host ("Frigjort utrymme : {0:N2} GB" -f $freed) -ForegroundColor Yellow
if (Get-WURebootStatus -Silent) {
Write-Host "⚠ Systemet behöver startas om." -ForegroundColor Yellow
}
else {
Write-Host "✅ Ingen omstart krävs." -ForegroundColor Green
}
Write-Host ""
Write-Host "=== Windows-underhåll klart ===" -ForegroundColor Green