Verified. Reversible. Zero placebo.
A surgical Windows 10/11 performance baseline built on one rule:
if it can't be measured, it doesn't ship.
Windows ships with dozens of background services, telemetry pipelines, and scheduled tasks running silently beneath everything you do. They consume RAM. They spike CPU. They phone home. And most guides that claim to fix this make things worse — applying registry keys the modern kernel ignores, disabling services that break core functionality, and leaving no way back.
win-baseline is different by design.
Every change must justify its existence with a documented mechanism. If the kernel doesn't read the key, the key doesn't ship. No 2015-era cargo-culted tweaks. No registry noise.
Every module produces a verifiable state. After applying, verify.ps1 checks each change independently and prints [PASS] or [FAIL]. You don't have to trust the tool — you can confirm it yourself in under 30 seconds.
This is the constraint that shapes everything else. Before modifying anything, the original state is saved. Rollback doesn't hardcode Automatic — it restores exactly what was there before. Every module ships with a rollback counterpart. No reinstall. No system restore point theater.
| Service | Effect |
|---|---|
DiagTrack |
Stops telemetry collection and transmission to Microsoft endpoints |
SysMain |
Eliminates background RAM preloading — provides no benefit on SSD |
WSearch |
Stops persistent file indexing — only affects Explorer search bar |
XblGameSave |
Removes background Xbox sync — inert without an Xbox account |
XboxNetApiSvc |
Removes Xbox networking API — inert without Xbox |
RemoteRegistry |
Closes remote registry access — attack surface on non-enterprise machines |
WMPNetworkSvc |
WMP network server — absent on N/KN editions, guarded before touching |
Fax |
Fax role service — guarded before touching, skipped if not installed |
Each service's original StartType is saved to core/state/services-state.json before any change is made. Rollback reads this file and restores the exact prior value.
Background tasks that wake periodically to collect data, score hardware, or update telemetry databases — with no user-facing output.
| Task | What it does |
|---|---|
Application Experience\Microsoft Compatibility Appraiser |
App compatibility telemetry |
Application Experience\ProgramDataUpdater |
Telemetry database updater |
CEIP\Consolidator |
Customer Experience data aggregation |
CEIP\UsbCeip |
USB device telemetry |
DiskDiagnostic\DiskDiagnosticDataCollector |
Disk health telemetry |
Maintenance\WinSAT |
Hardware scoring — runs at idle, spikes CPU |
PI\Sqm-Tasks |
Software Quality Metrics |
Autochk\Proxy |
Autochk telemetry proxy |
CloudExperienceHost\CreateObjectTask |
Cloud experience host (Win11 only) |
Device Information\Device |
Device info collection (Win11 only) |
Tasks are disabled, never deleted. Enable-ScheduledTask restores them exactly.
| Key | Effect |
|---|---|
AllowTelemetry = 0 |
Telemetry level to off via policy ¹ |
DisableOneSettingsDownloads = 1 |
Blocks telemetry config downloads from Microsoft servers |
DoNotShowFeedbackNotifications = 1 |
Suppresses feedback pop-ups |
WER Disabled = 1 |
Stops Windows Error Reporting from sending crash data |
EnableActivityFeed = 0 |
Disables Timeline activity collection |
PublishUserActivities = 0 |
Stops activity sync to Microsoft |
RestrictImplicitInkCollection = 1 |
Blocks handwriting sample submission |
RestrictImplicitTextCollection = 1 |
Blocks typing pattern submission |
¹
AllowTelemetry=0is enforced on Pro / Enterprise / LTSC only. On Home editions Windows silently resets this to1. The key is written correctly — this is a Microsoft policy restriction, not a tool limitation.verify.ps1flags this with[WARN], not[FAIL].
| Key | Effect |
|---|---|
DisabledByGroupPolicy = 1 |
Disables advertising ID |
TailoredExperiencesWithDiagnosticDataEnabled = 0 |
Disables personalized tips from diagnostic data |
DisableWindowsConsumerFeatures = 1 |
Stops Windows silently installing sponsored apps |
SilentInstalledAppsEnabled = 0 |
Blocks background app installs via ContentDelivery |
NoRecentDocsHistory = 1 |
Disables recent file tracking (machine-wide — all accounts) |
DisableLocation = 1 |
Disables location service via policy |
DisableWebSearch = 1 |
Removes Bing from Start Menu search |
RotatingLockScreenOverlayEnabled = 0 |
Removes promotional content from lock screen |
Start_TrackProgs = 0 |
Stops app launch tracking for Start Menu ordering |
The boundary between optimization and breakage is precise. These components are out of scope — not because of laziness, but because the cost exceeds any benefit.
| Component | Reason |
|---|---|
wuauserv / UsoSvc |
Disabling Windows Update breaks security patch delivery |
Windows Defender / SecurityHealthService |
Removing active malware protection is not a performance trade-off |
Desktop Window Manager (DWM) |
Core visual rendering stack — disabling causes display artifacts |
AudioEndpointBuilder / AudioSrv |
Core audio pipeline |
TabletInputService |
On Win11 handles UWP input, Start Menu, and Settings — Win11 forcibly restarts it after reboot regardless of start type. Change is not durable |
| DISM component removal | Irreversible at the OS layer — outside this project's contract |
| Copilot / AI features | Behavior is too build-specific and actively changing — under evaluation |
win-baseline detects OS build and edition at runtime. It applies the correct action set per version and refuses to run on unsupported configurations.
| OS | Build | Status |
|---|---|---|
| Windows 10 22H2 | 19045 | ✅ |
| Windows 10 21H2 / LTSC 2021 | 19044 | ✅ |
| Windows 11 23H2 | 22631 | ✅ |
| Windows 11 24H2 | 26100 | ✅ |
| Windows 10 < 19041 | — | ❌ |
| Windows Server | any |
Edition-aware behavior: on Home editions, verify.ps1 surfaces a telemetry warning. On Server editions, the script detects ProductType != 1 and exits before making any changes. Win11-specific tasks are applied only when $wb.os == "win11".
apply → read current state
→ write to core/state/[module]-state.json
→ apply change
rollback → read core/state/[module]-state.json
→ restore original value
→ delete state file if clean
For services: if SysMain was already Disabled before win-baseline ran, rollback leaves it Disabled. It does not blindly reset to Automatic.
For tasks: tasks that were already Disabled before apply are recorded as such — rollback skips them and won't re-enable them.
For registry: policy keys are deleted on rollback, restoring Windows hardcoded defaults. This is safer than writing back an assumed default value.
powershell -ExecutionPolicy Bypass -File verify.ps1Example output:
==========================================
win-baseline — Verification
OS: Windows 10 build 19045 [ltsc] [x64]
==========================================
[ Telemetry ]
[PASS] AllowTelemetry = 0 (policy layer)
[PASS] DisableOneSettingsDownloads = 1
[PASS] WER Disabled = 1
[PASS] EnableActivityFeed = 0
[ Privacy ]
[PASS] AdvertisingInfo DisabledByGroupPolicy = 1
[PASS] DisableWindowsConsumerFeatures = 1
[PASS] NoRecentDocsHistory = 1 (machine-wide)
[PASS] DisableWebSearch = 1
[ Services ]
[PASS] DiagTrack — Disabled
[PASS] SysMain — Disabled
[PASS] WSearch — Disabled
[SKIP] WMPNetworkSvc — not present (optional)
[ Scheduled Tasks ]
[PASS] Microsoft Compatibility Appraiser — Disabled
[PASS] Consolidator — Disabled
[PASS] WinSAT — Disabled
[ Rollback State ]
[PASS] services-state.json present
[PASS] scheduler-state.json present
==========================================
PASS: 24 FAIL: 0 SKIP: 2
All checks passed.
==========================================
apply.bat (Run as Administrator)
==========================================
win-baseline v1.0.0
==========================================
APPLY
[1] Telemetry (registry)
[2] Privacy (registry)
[3] Services (PowerShell)
[4] Scheduled Tasks (PowerShell)
[5] All modules
ROLLBACK
[6] Rollback Telemetry
[7] Rollback Privacy
[8] Rollback Services
[9] Rollback Scheduled Tasks
[R] Rollback All modules
[V] Verify current state
[0] Exit
Each module can be applied and rolled back independently. Modules do not depend on each other.
Services and scheduled tasks take effect after reboot. Registry changes take effect on next login or reboot.
win-baseline/
├── core/
│ ├── detect-os.ps1 # Runtime OS detection (build, edition, arch)
│ ├── telemetry.reg # Telemetry registry profile
│ ├── telemetry-rollback.reg # Telemetry rollback
│ ├── privacy.reg # Privacy registry profile
│ ├── privacy-rollback.reg # Privacy rollback
│ ├── services.ps1 # Service disabler with state saving
│ ├── services-rollback.ps1 # Service state restorer
│ ├── scheduler.ps1 # Task disabler with state saving
│ ├── scheduler-rollback.ps1 # Task state restorer
│ └── state/ # Auto-created — holds rollback state files
├── verify.ps1 # Full post-apply verification
├── apply.bat # Interactive installer menu
├── CHANGELOG.md
├── LICENSE
└── README.md
VMware Workstation Pro snapshots:
- Windows 10 LTSC 2021 — build 19044
- Windows 10 22H2 — build 19045
- Windows 11 24H2 — build 26100
win-baseline — верифицированный, полностью обратимый профиль оптимизации Windows 10/11. Отключает фоновые службы, задачи планировщика и телеметрию, которые потребляют ресурсы системы без какой-либо пользы для пользователя.
Каждое изменение в проекте проходит одну проверку: есть ли задокументированный механизм, объясняющий реальный эффект. Если нет — изменение не попадает в проект.
Minimal — только ключи и параметры, которые современное ядро Windows реально читает. Никаких твиков из устаревших гайдов.
Measurable — каждый модуль проверяется через verify.ps1. Результат — конкретный [PASS] или [FAIL] по каждому пункту.
Reversible — перед любым изменением сохраняется исходное состояние в JSON-файл. Rollback восстанавливает точное предыдущее значение — не хардкодит Automatic, не угадывает. Если служба была Disabled до запуска инструмента — rollback оставит её Disabled.
Telemetry — отключает сбор и передачу диагностических данных: DiagTrack, AllowTelemetry, WER, Activity History, inking/typing. Применяется через .reg, откатывается удалением ключей.
Предупреждение:
AllowTelemetry=0работает только на Pro/Enterprise/LTSC. На Home Windows принудительно сбрасывает значение до1.verify.ps1выдаёт[WARN]вместо[FAIL].
Privacy — отключает рекламный ID, автоустановку рекомендованных приложений, Bing в поиске, рекламу на экране блокировки, отслеживание запуска программ, локацию, tailored experiences.
Services — отключает 8 фоновых служб. Исходный StartType каждой сохраняется в services-state.json до изменения. Rollback читает файл и восстанавливает точные значения.
Scheduled Tasks — отключает до 12 фоновых задач (часть Win11-специфичные). Задачи отключаются, не удаляются. Rollback через Enable-ScheduledTask.
Windows Update, Defender, DWM, Audio-службы, TabletInputService — принципиально не трогаются. DISM-удаление компонентов — за пределами scope, необратимо.
Windows 10 (19041+) и Windows 11 (22000+). Скрипт определяет версию по номеру сборки, редакцию по Caption, применяет соответствующий набор действий. На Server-редакциях завершается с предупреждением до внесения любых изменений.
ceo714 — GitHub
Related: bye-tcp-internet — TCP/IP network stack baseline for Windows 10/11
MIT
