Windows 10 Setup Command Options

Martin Brinkmann
Aug 10, 2018
Updated • Sep 17, 2019
Windows, Windows 10

Windows 10 comes with a set of command line options to control the setup of the operating system. While most Home users probably execute setup without supplying any command line options to customize setup, administrators use these to customize the installation.

While the bulk of supported commands is only useful for Enterprise or organizational use, some options may be useful in home environments as well.

While home users may not need most of the commands, some, such as disabling Telemetry, installing extra drivers, loading third-party encryption drivers, and more, can certainly be useful in a home context.

Windows 10 administrators may run the commands from the command line or use setup automation capabilities that Microsoft introduced in Windows 10 version 1607.

Important Windows 10 Setup commands

windows 10 setup commands

/BitLocker {AlwaysSuspend | TryKeepActive | ForceKeepActive}

The command determines the status of BitLocker drive encryption during upgrades.

  • AlwaysSuspend -- BitLocker is suspended during updates. The default behavior.
  • TryKeepActive -- Upgrade is tried without suspending BitLocker. If that fails, BitLocker will be suspended and the upgrade will be installed.
  • ForceKeepActive -- Upgrade won't suspend BitLocker. Upgrade will fail if it can't complete.

/CompactOS {Enable / Disable}

The command determines whether Windows' Compact OS functionality will be used to reduce the hard drive space requirement of the system. Windows decides automatically whether the feature is used by default.

  • Enable -- Setup will use compressed system files where appropriate to save disk space.
  • Disable -- Setup will use uncompressed system files.

/Compat {IgnoreWarning / ScanOnly}

The command defines whether setup should ignore compatibility warnings.

  • IgnoreWarning -- Setup will complete the installation or upgrade and ignores any compatibility issues.
  • ScanOnly -- Runs all compatibility scans and returns an exit code that highlights whether compatibility issues have been found.

/DynamicUpdate {enable | disable}

The command determines whether Windows Setup will search for, download, and install updates during setup.


Select a location that contains .inf drivers to install these drivers on the system during setup.

/MigrateDrivers {all | none}

Option to migrate all drivers or no drivers. The default that setup uses is to select the best course of action for each driver individually.


Suppress user setup experience.


Only available in Windows 10 version 1607 or newer. Specify encryption drivers if third-party encryption software is used.

/ResizeRecoveryPartition {Enable / Disable}

Define whether Windows Setup may resize the Recovery Partition during setup or create a new one, or not.

/Telemetry {Enable / Disable}

Select whether Telemetry collecting during setup is enabled or not.

All other Windows 10 Setup commands

/1394Debug:<channel> [BaudRate:<baudrate>]

The command enables kernel debugging during the configuration pass of Windows Setup.

  • <channel> -- specifies debugging channel. Default is 1.
  • [BaudRate:<baudrate>] -- specifies the transfer baud during debugging. Default is 19200, can also be set to 57600 or 115200.


The option is only available on devices that support Windows PE 4.0 or later. Commands Windows Setup to add the Windows Boot Manager as the last entry in the UEFI firmware boot order.

/Auto {Clean | DataOnly | Upgrade}

An automated upgrade to Windows 10 volume license editions is performed.

  • Clean -- clean install of windows.
  • DataOnly -- saves user data but not apps during upgrade.
  • Upgrade -- saves user data and applications.


Specifies the address of a 1394, USB or NET debug port. Must be in decimal format.


Windows Setup will copy logs to the selected location upon failure. Accepts local file paths and UNC network paths.

/Debug:<port> [BaudRate:<baudrate>]

Enables debugging over a COM port.

  • <port> -- specifies the debug port. Default is 1.
  • [BaudRate:<baudrate>] -- specifies the baud rate.

/DiagnosticPrompt {enable | disable}

Use this command to enable or disable the command prompt during setup. If enabled, Command Prompt can be launched using Shift-F10.

/EMSPort: {COM1 | COM2 | off | usebiossettings} [/emsbaudrate:<baudrate>]

Configures Emergency Management Services during setup.

  • Com1 | Com2 | Off | usebiossettings -- Enables EMS over COM1 or COM2, turns it off, or uses Bios settings.
  • [/emsbaudrate:<baudrate>] -- sets the baudrate.


Select a different install.wim file that needs to be stored under the selected path.

This enables you to use a single preinstallation environment to install multiple versions of Windows images.


Install additional language packs during setup.


Copy files from an alternative location. Setup will use files in the selected location first if available and resorts to the default location if files are not available.

/MigNEO Disable

Only available on Windows 10 version 1803 and later. Disable offline phase optimizations.

/NetDebug:hostip=<w.x.y.z>,port=<n>,key= <q.r.s.t>[,nodhcp][,busparams=n.o.p]

Enables kernel debugging over the network.

  • hostip -- IP address of host computer
  • port -- port for operation.
  • key -- password for setting up a secure connection.
  • nohdcp -- disable DHCP.
  • busparams -- select bus number, device number, and function number of an adapter.


Use the command to prevent the automatic reboot after the down-level phase of setup.

/PKey<product key>

Supply the product key during setup.

/Priority Normal

Only available in Windows 10 version 1709 and newer. Increase thread priority from low to high for feature updates.

/PostOOBE<location> [\setupcomplete.cmd]

Run a script after setup completes.

/PostRollback<location> [\setuprollback.cmd] [/postrollbackcontext {system / user}]

Run a script if the feature update fails or if the user decides to roll back the update.

/ShowOOBE {full / none}

Defines whether the Out Of Box Experience is displayed and needs to be completed by users or if it is skipped.

/TempDrive <drive_letter>

Instructs Windows Setup to use a specific drive for temporary files during setup.


Use an answer file for unattended setup.

/Uninstall {enable / disable}

Define whether users will have the option to roll back upgrades.


Sets up an USB debugging port.


Sets the Windows Deployment Services client to discover mode.


Specifies the Windows Deployment Services server the client should connect to.

Setup.exe error codes

There are exit codes for Setup.exe that provide you with information:


  • Exit code: 0x3
  • Description: upgrade was successful


  • Exit code: 0x5
  • Description: compatibility check detected issues that need to be resolved before the upgrade can proceed.


  • Exit code: 0x7
  • Installation option was not available.

You find additional information about parameters and commands on Microsoft's Docs website.

Windows 10 Setup Command Options
Article Name
Windows 10 Setup Command Options
A full command list for commands that Windows administrators and users may add to Windows Setup to install or upgrade Windows 10 devices.
Ghacks Technology News

Tutorials & Tips

Previous Post: «
Next Post: «


  1. stefann said on August 14, 2018 at 3:54 am

    Do these commands work in Vista, 7 and 8.x to ?

  2. Franck said on August 11, 2018 at 3:18 am

    Very interesting, thanks a lot !

  3. ULBoom said on August 11, 2018 at 1:50 am

    Interesting, I wasn’t aware of these. They could add a “/purge Nvidia_[registry] [files]” command to remove the million or so entries and files any Nvidia driver leaves behind after uninstall!

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.