🔥 Professional Windows Service Management Tool - Safely disable unnecessary background services in Windows 11. Features intelligent service detection, safety checks, and comprehensive reporting for optimal system performance.
windows optimizer, service optimizer, windows 11 optimization, disable services, performance optimization, privacy enhancement, startup optimization, background services, telemetry removal, system tuning
🚀 Intelligent Service Management
- Smart service detection - Automatically identifies and targets only unnecessary services
- Safety-first approach - Preserves all critical system services and functionality
- Comprehensive coverage - Disables telemetry, background apps, and resource-heavy services
🔧 Advanced Optimization Features
- Privacy protection - Removes Microsoft telemetry and data collection services
- Performance boost - Disables resource-intensive background services
- Startup acceleration - Reduces system boot time by disabling unnecessary auto-start services
🎨 Enhanced User Experience
- Rich formatted output - Beautiful CLI interface with colors and progress indicators
- Detailed reporting - Shows exactly which services were disabled and their impact
- Error handling - Gracefully handles missing services without breaking execution
📦 Easy Deployment & Usage
- Single-script solution - No installation required, just run and optimize
- Administrator-friendly - Includes execution policy bypass for easy deployment
- Reversible changes - All modifications can be easily undone if needed
- Windows 10/11 operating system
- PowerShell 5.1 or higher
- Administrator privileges for full functionality
🖱️ Double-click the desktop shortcut after setup!
- Right-click
setup-optimizer.bat
and select "Run as Administrator" - Follow the setup wizard - it configures everything automatically
- Desktop shortcut is created for future use
- Double-click "Windows 11 Optimizer" on your desktop
- Watch the colorful optimization process
- Restart your computer when prompted
# Right-click and "Run as Administrator"
optimize-now.bat
# Run PowerShell as Administrator
Set-ExecutionPolicy Bypass -Scope Process -Force
.\disable-services.ps1
# Navigate to project folder and run:
PowerShell -ExecutionPolicy Bypass -File "disable-services.ps1"
After running the script, verify the changes:
Get-Service | Where-Object {$_.StartType -eq "Disabled"}
Standard Optimization (Recommended):
.\disable-services.ps1
With Custom Execution Policy:
Set-ExecutionPolicy Bypass -Scope Process -Force
.\disable-services.ps1
The script intelligently disables the following service categories:
- Connected User Experiences and Telemetry
- Diagnostic Tracking
- Windows Error Reporting
- Customer Experience Improvement Program tasks
- Windows Search (SearchIndexer)
- Superfetch/SysMain
- Background Intelligent Transfer Service (BITS)
- Windows Update Medic Service
- Xbox Live Auth Manager
- Xbox Game Save Service
- Xbox Accessory Management Service
- Remote Desktop Services
- Bluetooth Support Service
- Windows Connect Now
- Windows Biometric Service
- Sensor Monitoring Service
- Geolocation Service
✅ Critical System Services Preserved:
- Windows Defender/Antivirus services
- Core Windows authentication
- Network connectivity services
- Hardware driver services
- System security services
# View all disabled services
Get-Service | Where-Object {$_.StartType -eq "Disabled"}
# Check specific service status
Get-Service "DiagTrack"
# Re-enable a specific service
Set-Service "ServiceName" -StartupType Automatic
Start-Service "ServiceName"
# Example: Re-enable telemetry (not recommended)
Set-Service "DiagTrack" -StartupType Automatic
Start-Service "DiagTrack"
# Stop a running service
Stop-Service "ServiceName" -Force
# Stop multiple services
$services = @("Service1", "Service2", "Service3")
foreach ($service in $services) {
Stop-Service $service -Force -ErrorAction SilentlyContinue
}
- Faster boot times - Reduced startup service load
- Lower memory usage - Disabled background services free up RAM
- Improved responsiveness - Less CPU usage from unnecessary services
- Better battery life - Reduced background activity on laptops
- Reduced data collection - Microsoft telemetry services disabled
- Fewer background connections - Less network activity to Microsoft servers
- Enhanced privacy control - More control over what Windows collects
"Execution Policy" Error:
Set-ExecutionPolicy Bypass -Scope Process -Force
"Access Denied" Error:
- Ensure PowerShell is running as Administrator
- Right-click PowerShell → "Run as Administrator"
Service Not Found:
- Some services may not exist on all Windows installations
- The script handles missing services gracefully
No Visible Changes:
- Restart the computer for all changes to take effect
- Some services only activate during specific conditions
Complete Rollback:
# Create rollback script
$services = @("DiagTrack", "dmwappushservice", "SysMain", "WSearch")
foreach ($service in $services) {
Set-Service $service -StartupType Automatic -ErrorAction SilentlyContinue
Start-Service $service -ErrorAction SilentlyContinue
}
Selective Rollback:
# Re-enable specific services only
Set-Service "DiagTrack" -StartupType Automatic
Start-Service "DiagTrack"
windows11-service-optimizer/
├── 📋 README.md # This comprehensive documentation
├── 📜 disable-services.ps1 # Main optimization script (colorful!)
├── 📄 LICENSE # MIT license file
├── 🔒 SECURITY.md # Security policy & vulnerability reporting
├── 👥 CODE_OF_CONDUCT.md # Community guidelines
├── 🤝 CONTRIBUTING.md # Contribution guidelines
├── 🚀 optimize-now.bat # One-click launcher
├── ⚙️ setup-optimizer.bat # Automated setup script
└── 📋 Quick-Start.bat # Quick start guide
🖱️ Desktop Shortcut Creation
setup-optimizer.bat
creates a desktop shortcut automatically- Double-click optimization after initial setup
🚀 Automated Launchers
optimize-now.bat
- Checks admin privileges and runs optimizationQuick-Start.bat
- Interactive guide showing all usage methods
⚙️ Smart Setup
setup-optimizer.bat
configures PowerShell execution policy- Creates desktop shortcuts and tests functionality
- Provides clear setup completion feedback
# Check current service status
Get-Service | Where-Object {$_.Status -eq "Running"} | Measure-Object
# Check startup impact
Get-Service | Where-Object {$_.StartType -eq "Automatic"} | Measure-Object
# Verify disabled services
Get-Service | Where-Object {$_.StartType -eq "Disabled"} | Select-Object DisplayName
# Check system performance
Get-Process | Where-Object {$_.CPU -gt 0} | Sort-Object CPU -Descending | Select-Object -First 10
You can modify the script to include/exclude specific services:
# Edit the $services array in disable-services.ps1
$services = @(
"DiagTrack", # Connected User Experiences and Telemetry
"dmwappushservice", # Device Management Wireless Application Protocol
"SysMain", # Superfetch/SysMain
"WSearch" # Windows Search
# Add or remove services as needed
)
The script also disables telemetry-related scheduled tasks:
# View telemetry tasks before running script
Get-ScheduledTask | Where-Object {$_.TaskName -match "Telemetry|CEIP|Customer"}
# After running script, verify tasks are disabled
Get-ScheduledTask | Where-Object {$_.TaskName -match "Telemetry|CEIP|Customer"} | Select-Object TaskName, State
- v1.0.0 - Initial release with comprehensive service optimization
- v1.1.0 - Added scheduled task management and improved error handling
- v1.2.0 - Enhanced safety checks and detailed reporting
MIT License - see LICENSE file for details.
Rezaul Karim Email: work.rezaul@outlook.com Powered By: REZ LAB