⚙️
Windows Features
Optimization Category
Disable Virtualization Features
MediumDisable Hyper-V, WSL, and virtualization-related features if not needed
💡 Frees up system resources and improves performance if virtualization is not used
Disable Virtualization Components
Disables Hyper-V, Virtual Machine Platform, Windows Subsystem for Linux, and ProjFS. Only disable if you don't use these features.
PowerShell / CMD
Important Note
⚠️
Disabling these features will prevent running virtual machines, WSL, and Docker containers.
Disable IIS and Web Services
MediumRemove IIS and web server components if not running web services
💡 Reduces system footprint and closes unnecessary network services
Disable IIS Components
Removes Internet Information Services and related web server components.
PowerShell / CMD
When to Disable
ℹ️
Safe to disable if you don't run web services or development environments requiring IIS.
Disable Legacy Components
MediumRemove outdated and rarely-used Windows components
💡 Reduces system bloat, improves startup time, and enhances security by removing old code
Disable Legacy Features
Removes Internet Explorer, Windows Media Player, DirectPlay, and PowerShell v2. These are rarely needed on modern systems.
PowerShell / CMD
Note
ℹ️
Windows Media Player can be replaced with modern media players like VLC or Windows 11 Media Player.
Disable SMB1 Protocol
MediumRemove the insecure SMB1 protocol which has known vulnerabilities
💡 Significantly improves security by removing outdated and vulnerable network protocol
Disable SMB1
SMB1 is deprecated and has multiple security vulnerabilities. Should be disabled on all systems. Modern systems use SMB2/3.
PowerShell / CMD
Security Warning
⚠️
SMB1 has been the target of multiple ransomware attacks (WannaCry, etc.). Disabling is strongly recommended.
Disable Unused Network Services
MediumRemove rarely-used network service features
💡 Reduces attack surface and frees up resources by disabling obsolete protocols
Disable Network Services
Removes Telnet Client, TFTP, SNMP, and SimpleTCP. These are legacy protocols rarely used on modern networks.
PowerShell / CMD
Disable MSMQ (Message Queuing)
MediumRemove Message Queuing components if not used for enterprise messaging
💡 Frees resources by removing unused enterprise messaging infrastructure
Disable MSMQ
Removes Message Queuing components. Only needed if using MSMQ for application integration.
PowerShell / CMD
Enable Useful Features
MediumEnable beneficial Windows features for system compatibility and functionality
💡 Ensures system has necessary components for optimal compatibility
Enable Recommended Features
Enables .NET Framework, PDF printing, Windows Search, and Defender definitions. Recommended for all users.
PowerShell / CMD
Check Disabled Features
MediumVerify which Windows features are currently disabled
💡 Helps identify which features have been disabled and monitor system configuration
View Disabled Features
Shows only disabled Windows features
PowerShell / CMD
View All Features
Shows all Windows features with their current state
PowerShell / CMD
DISM Best Practices
MediumImportant guidelines for safely managing Windows features
💡 Prevents system instability and ensures safe feature management with proper backup
Before Making Changes
⚠️
1. Create a system restore point
2. Run all commands as Administrator
3. Use /NoRestart flag to group changes
4. Test on a non-critical system first
Important Notes
ℹ️
- Backup: Create a restore point before changes
- Permissions: Always run as Administrator
- Restart: Manually restart after all changes
- Reversible: Use /Enable-Feature to revert disabled features
- NoRestart: Use /NoRestart flag to batch multiple commands