← All Tweaks
Windows Features
Enable Useful Features
Enable beneficial Windows features for system compatibility and functionality
Benefit
Ensures system has necessary components for optimal compatibility
Impact
lowCommands (1)
$ErrorActionPreference='Continue'; $features = @('NetFx3','NetFx4-AdvSrvs','Printing-PrintToPDFServices-Features','SearchEngine-Client-Package'); foreach ($f in $features) { $w = Get-WindowsOptionalFeature -Online -FeatureName $f -ErrorAction SilentlyContinue; if (-not $w) { Write-Host "[SKIP] $f - not available on this system"; continue } if ($w.State -eq 'Enabled') { Write-Host "[OK] $f - already enabled"; continue } if ($w.State -eq 'DisabledWithPayloadRemoved') { Write-Host "[INFO] $f - payload removed; requires Windows Update or 'DISM /Online /Enable-Feature /FeatureName:$f /Source:<install.wim>' (skipped to avoid hang)"; continue } $job = Start-Job -ScriptBlock { param($name) Enable-WindowsOptionalFeature -Online -FeatureName $name -NoRestart -WarningAction SilentlyContinue -ErrorAction Stop | Out-Null } -ArgumentList $f; $completed = Wait-Job -Job $job -Timeout 90; if ($null -eq $completed) { Stop-Job -Job $job; Remove-Job -Job $job -Force; Write-Host "[ERR] $f - timed out after 90s (Windows Update may be downloading the payload; try again later or run from elevated PowerShell)"; continue } $err = $job.ChildJobs[0].JobStateInfo.Reason; Remove-Job -Job $job -Force; if ($err) { $msg = $err.Message; if ($msg -match '0x800f081f|0x80072ee6|source files|archivos de origen') { Write-Host "[INFO] $f - payload removed; enable via Windows Update or 'DISM /Online /Enable-Feature /FeatureName:$f /Source:<install.wim>'" } else { Write-Host "[ERR] $f - $msg" } } else { Write-Host "[OK] Enabled $f" } }Warnings
- Windows Defender signatures cannot be enabled via DISM. Update Defender separately with: Update-MpSignature -UpdateSource MicrosoftUpdateServer