A lightweight, open-source toolkit to disable Windows telemetry and enhance privacy on Windows 10 and 11 using PowerShell scripts. Inspired by tools like ShutUp10++, but fully transparent, modular, and scriptable.
- Disable Windows Telemetry: Blocks data collection and reporting to Microsoft.
- Block Feedback & Advertising: Prevents feedback prompts and advertising ID usage.
- Stop Unnecessary Services: Disables telemetry-related services like DiagTrack, Xbox services, etc.
- Remove Bloatware: Optionally removes pre-installed apps and disables background apps.
- Interactive Module Selection: Choose which modules to run via CLI or GUI-like menu.
- Easy Rollback: Revert changes with dedicated rollback scripts.
- Advanced Logging: Comprehensive logs, error tracking, and execution statistics.
- Modular Design: Independent modules for telemetry, services, apps, and misc tweaks.
- System Restore Points: Automatic creation before changes for safety.
- Multiple Execution Modes: Interactive, batch, dry-run, and custom profiles.
- Audit Logging: Logs to Windows Event Viewer for compliance.
- Auto-Update: Fetch latest versions from GitHub.
- Integrity Checks: Verifies script and module integrity.
- Detailed Reports: Markdown reports of changes and execution results.
- Download: Clone or download the repository.
- Run as Administrator: Right-click
run.batand select "Run as administrator". - Choose Mode:
- Minimal: Basic telemetry blocking.
- Balanced: Telemetry + services.
- Max Privacy: All modules.
- Custom: Select specific modules.
- Review Logs: Check
telemetry-blocker.logandtelemetry-blocker-report.mdfor results.
No installation required! Simply download the repository and run run.bat as administrator.
- Windows 10 version 2004 or later / Windows 11.
- PowerShell 5.1 or later (PowerShell Core recommended).
- Administrative privileges.
The launcher (run.bat) will automatically check for prerequisites and attempt self-healing if files are missing.
The batch file provides a user-friendly menu:
- Minimal Profile: Runs telemetry module only.
- Balanced Profile: Runs telemetry and services modules.
- Max Privacy Profile: Runs all modules.
- Custom Profile: Interactive module selection.
- Run Interactive Script: Full PowerShell script with prompts.
- Restore via Rollback: Revert changes using rollback scripts.
- Restore via System Restore: Use Windows System Restore.
- Update Script: Download latest versions.
- Self-Healing Mode: Re-download missing files.
- Exit.
Run directly with parameters:
.\windowstelementryblocker.ps1 -All -EnableAuditLog| Parameter | Description | Example |
|---|---|---|
-All |
Run all modules | .\script.ps1 -All |
-Modules <list> |
Specify modules (comma-separated) | .\script.ps1 -Modules telemetry,services |
-Exclude <list> |
Exclude specific modules | .\script.ps1 -All -Exclude apps |
-Interactive |
Interactive mode with prompts | .\script.ps1 -Interactive |
-DryRun |
Preview changes without applying | .\script.ps1 -All -DryRun |
-WhatIf |
Alias for DryRun | .\script.ps1 -WhatIf |
-RollbackOnFailure |
Auto-rollback if a module fails | .\script.ps1 -All -RollbackOnFailure |
-Rollback |
Run rollback for all modules | .\script.ps1 -Rollback |
-RestorePoint |
Restore via system restore/registry backup | .\script.ps1 -RestorePoint |
-Update |
Check and update script/modules | .\script.ps1 -Update |
-EnableAuditLog |
Log to Windows Event Viewer | .\script.ps1 -All -EnableAuditLog |
telemetry: No dependenciesservices: Depends ontelemetryapps: No dependenciesmisc: Depends ontelemetryandservices
Dependencies are resolved automatically.
| Module | Description | Rollback Available |
|---|---|---|
| telemetry.ps1 | Disables Windows Telemetry, feedback prompts, advertising ID, and Cortana via registry settings. | β |
| services.ps1 | Disables telemetry services: DiagTrack, dmwappushservice, WMPNetworkSvc, WerSvc, PcaSvc, Xbox services, MapsBroker, WSearch. | β |
| apps.ps1 | Disables background apps, removes bloatware (optional), disables Widgets/News/OneDrive auto-launch, removes pre-installed apps like Bing Weather, Xbox apps, etc. | β (Manual) |
| misc.ps1 | Disables Customer Experience Improvement Program (CEIP) and Windows Error Reporting. | β |
- Sets
AllowTelemetryto 0 andDisableTelemetryto 1 inHKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection - Disables feedback in
HKCU:\SOFTWARE\Microsoft\Siuf\Rules - Disables advertising ID in
HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo - Disables Cortana in
HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search
Disables and stops the following services:
- DiagTrack (Connected User Experiences and Telemetry)
- dmwappushservice (Device Management Wireless Application Protocol)
- WMPNetworkSvc (Windows Media Player Network Sharing)
- WerSvc (Windows Error Reporting)
- PcaSvc (Program Compatibility Assistant)
- Xbox-related services (XblGameSave, MapsBroker)
- WSearch (Windows Search)
- Disables background apps globally
- Removes apps like Microsoft.BingWeather, Microsoft.GetHelp, Microsoft.WindowsFeedbackHub, Xbox apps, etc.
- Disables taskbar icons for Widgets, News, OneDrive
- Disables CEIP in
HKLM:\SOFTWARE\Microsoft\SQMClient\Windows - Disables Windows Error Reporting in
HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting
Rollback scripts are available for most modules in modules/*-rollback.ps1.
- Via Launcher: Option 6 "Restore via builtin rollback system"
- Via Script:
.\windowstelementryblocker.ps1 -Rollback - Individual: Run specific rollback script, e.g.,
.\modules\telemetry-rollback.ps1
- Telemetry: Removes AllowTelemetry registry value.
- Services: Sets disabled services back to Manual startup.
- Apps: No automatic rollback (app removals are irreversible; reinstall manually).
- Misc: Removes Timeline-related registry values.
Registry backups are created in registry-backups/ before changes.
telemetry-blocker.log: Main execution log with timestamps.telemetry-blocker-errors.log: Error messages only.telemetry-blocker-stats.log: Execution statistics (start/end times, durations).telemetry-blocker-report.md: Detailed Markdown report of changes.
With -EnableAuditLog, events are logged to Windows Event Viewer under "Application" source "TelemetryBlocker".
Post-execution, a Markdown report is generated with:
- Execution details (date, version, Windows info)
- Modules run with status and timestamps
- Summary of changes
- Errors (if any)
- Create
modules/yourmodule.ps1with functions and return$trueon success. - Optionally create
modules/yourmodule-rollback.ps1for rollback logic. - Update dependencies in the main script if needed.
- Use
Write-ModuleLogfor logging (from common.ps1).
Located in modules/common.ps1:
Write-ModuleLog: Logs messages with fallback.Set-RegistryValue: Safely sets registry values with type support.
Customize profiles in run.bat by editing the module lists.
- "Access Denied": Run as administrator.
- "Script not found": Use self-healing mode in launcher.
- Modules fail: Check logs for specific errors; try rollback.
- No PowerShell: Install PowerShell or use Windows PowerShell.
If a reboot is pending, the script warns but continues. Reboot before running for best results.
Use -DryRun to preview changes without applying them.
If update fails, download manually from GitHub.
We welcome contributions! See CONTRIBUTING.md for guidelines.
- Fork the repo
- Make changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by ShutUp10++
- Thanks to the open-source community and contributors
Test on a VM before use in production!