Skip to content

ceo714/win-baseline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

win-baseline

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.


The Problem With "Optimization"

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.


Core Principles

Minimal

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.

Measurable

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.

Reversible

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.


What Changes — and Why

Services

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.

Scheduled Tasks

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.

Registry — Telemetry Module

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=0 is enforced on Pro / Enterprise / LTSC only. On Home editions Windows silently resets this to 1. The key is written correctly — this is a Microsoft policy restriction, not a tool limitation. verify.ps1 flags this with [WARN], not [FAIL].

Registry — Privacy Module

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

What Is Deliberately Untouched

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

OS Detection

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 ⚠️ exits with warning

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".


Rollback Architecture

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.


Verification

powershell -ExecutionPolicy Bypass -File verify.ps1

Example 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.
==========================================

Usage

Apply

apply.bat   (Run as Administrator)

Menu

==========================================
  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.

Reboot

Services and scheduled tasks take effect after reboot. Registry changes take effect on next login or reboot.


Repository Structure

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

Tested On

VMware Workstation Pro snapshots:

  • Windows 10 LTSC 2021 — build 19044
  • Windows 10 22H2 — build 19045
  • Windows 11 24H2 — build 26100


RU — Русская документация

Что такое win-baseline

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-редакциях завершается с предупреждением до внесения любых изменений.


Author

ceo714GitHub

Related: bye-tcp-internet — TCP/IP network stack baseline for Windows 10/11

License

MIT

About

Verified, reversible Windows 10/11 performance baseline. Disables telemetry, background services and scheduled tasks. No placebo. Full rollback.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors