Windows 11 · Unattended Setup

Skipping the Windows 11 account wall

Recent Windows 11 builds force a Microsoft account and an internet connection during setup. This guide uses two ready-made answer files — a basic bypass and a debloated one — explains exactly what each does to your machine, and shows you how to build your own.

Bypass scripts & answer files: github.com/victor-piazza/windows-bypass. Built on the approach popularised by Chris Titus Tech; answer files generated with schneegans.de.

Windows Setup looks for an answer file (unattend.xml) that pre-answers every Out-Of-Box Experience (OOBE) prompt. The bypass drops a prepared answer file into C:\Windows\Panther\, then re-runs Sysprep against it. Windows reboots straight into a finished desktop — no Microsoft account, no "let's connect you to a network," no privacy-settings carousel.

Both files create a single local Admin account with a blank password and a one-time auto-logon, hide the taskbar search box and Task View button, left-align the taskbar, empty the Start pins, kill Bing/web results in search, disable Widgets and News & Interests, enable long-path support, and delete C:\Windows.old after first logon. Where they part ways is how much they pre-decide for you and how much they strip out — that's the next section.

▎ Heads up

This is for clean installs you own. The answer files create a local account with a blank password and auto-logon — convenient for a personal machine, but set a password immediately afterward, and don't use this on anything shared or work-managed.

The repo ships two answer files. They share the same account-wall bypass and shell cleanup; the difference is how opinionated they are.

basic.xml

Basic

Bypasses the account wall and tidies the shell, but keeps every built-in app. It also pre-sets US English, applies a dark theme with a blue accent, turns NumLock on at boot, and still shows the Wi-Fi step. Pick this for a normal, fully-stocked Windows with the setup annoyances gone.

curl bypass.vpiazza.net/basic.cmd -o bypass.cmd
bypass.cmd
unattend.xml

Debloated

Everything Basic's cleanup does, plus it removes ~34 apps, several capabilities and features, and hardens OneDrive, Teams, Copilot and GameDVR. It lets you choose language interactively, skips Wi-Fi, and enables core isolation. Pick this for a minimal, privacy-leaning install.

curl bypass.vpiazza.net -o bypass.cmd
bypass.cmd

However you choose, the run procedure is identical:

  1. Open a command prompt during setup

    At the OOBE region-selection screen, press Shift + F10. A command prompt window opens over the setup UI.

  2. Pull the script and run it

    Type the two lines for the variant you picked above — the first downloads the launcher, the second runs it.

  3. Let it reboot

    Under the hood the launcher fetches the matching answer file, drops it at C:\Windows\Panther\unattend.xml, and runs Sysprep against it. After a few minutes of "Running scripts to customize your Windows installation," you land on the desktop, logged in.

▎ Why curl works mid-setup

Modern Windows ships curl.exe inside the install image, so it's available at the OOBE command prompt even before first boot — no extra tooling needed.

Exactly what each answer file changes, pulled from the two files in the repo.

What it does Basic Debloated
Skips the Microsoft-account requirement ✓ ✓
Local Admin account, blank password, one-time auto-logon ✓ ✓
Shell cleanup — search & Task View hidden, taskbar left, empty Start pins, no Bing in search, Widgets & News off, long paths on ✓ ✓
Deletes C:\Windows.old after first logon ✓ ✓
Language, region & keyboard Pre-set to US English You choose during setup
Wi-Fi step during OOBE Shown Skipped
Dark theme + blue accent applied ✓ Left at default
NumLock on at boot (lock-key config) ✓ —
Removes ~34 built-in apps — ✓
Removes capabilities — IE, Media Player, Hello Face, Speech… — ✓
Removes features — Recall, Media Playback — ✓
Hardens OneDrive, Teams, Copilot & GameDVR — ✓
Core isolation (memory integrity) enabled Default ✓

If you run the debloated file, here's the full picture of what comes off the install. The basic file removes none of this.

▎ Apps removed (≈34 provisioned packages)

3D ViewerBing SearchCameraClipchampCopilotCortanaDev HomeFamilyFeedback HubGame AssistGet HelpGet StartedMail & CalendarMapsMixed RealityBing NewsOffice HubOneNoteOutlook (new)PeopleSkypeSolitaireTeamsTo DoVoice RecorderWalletBing WeatherXbox appsZune Video

▎ Capabilities & features removed

HandwritingInternet ExplorerMath RecognizerOneSyncPowerShell ISESpeechText-to-SpeechSteps RecorderWindows Hello FaceMedia PlayerMedia PlaybackRecall

▎ Disabled / hardened

  • OneDrive setup removed; auto-install of OneDrive blocked
  • Teams chat auto-install disabled
  • Windows Copilot turned off via policy (and the provider app removed)
  • GameDVR / game capture disabled
  • Dev Home & new-Outlook update orchestrators removed
  • Core isolation (memory integrity) enabled
⚠ Worth knowing before you run it

The debloat is opinionated. Among the things it strips: Camera, the Windows Hello Face biometric login, Windows Media Player, OneNote, Maps, and Recall. Several apps are reinstallable from the Store afterward, but capabilities and features (Hello Face, Media Player) are harder to get back. If you rely on any of them, run the basic file — or build your own (next section) — rather than removing them after the fact.

The real power here isn't either specific config — it's the generator behind them. Both files in the repo were produced by Schneegans' unattend generator, and you can use the same tool to build one tuned exactly to your taste: keep the apps you want, set your own account names, pick a theme, choose which tweaks apply.

▎ Generator

Schneegans Unattended Windows Install Generator

A web form covering accounts, debloat selections, regional settings, shell tweaks, and theming. It outputs a ready-to-use unattend.xml and even encodes your choices in the URL so you can revisit and tweak them later.

Open the generator →

Two ways to start

  1. From scratch

    Open the generator, work through each section, and download your unattend.xml. Host it somewhere you can curl it from during setup (or copy it to a USB stick), then point Sysprep at it the same way the bypass scripts do.

  2. Modify an existing one

    Every Schneegans-generated file embeds its settings in a URL inside an XML comment at the top. Open either basic.xml or unattend.xml from the repo, copy that schneegans.de/windows/unattend-generator/?... link from the top comment, paste it into your browser, and the form loads pre-filled with those exact choices — ready for you to adjust and re-download.

▎ Applying your own file

Once you have a custom unattend.xml, the mechanism is identical to the bypass: get the file to C:\Windows\Panther\unattend.xml during OOBE, then run %WINDIR%\System32\Sysprep\Sysprep.exe /oobe /unattend:C:\Windows\Panther\unattend.xml /reboot.

This guide documents the answer files in my own repo, but the technique stands on work by others. Credit where it's due.

▎ This guide's scripts & answer files
▎ Original idea & inspiration

The one-line OOBE bypass approach this guide builds on was popularised by Chris Titus Tech. Their bypassnro repo ships a considerably more robust app-removal list than the debloated file here — if you want more aggressive debloating out of the box, start there.

▎ Answer-file generator
❖