Windows 10 Setup Command Line Switches

Command Line Switches

Switch Parameters Action
/auto <migration choice> Upgrade; DataOnly; Clean Automate install with migration choice for the installation. The media setup UI and progress screens are shown by default, but are automated. This switch also assumes the following default configurations: EULA acceptance, Dynamic Update is enabled, telemetry collection and upload opt-in, OOBE will be skipped, PBR will be updated or created.Example: setup.exe /auto upgrade
/quiet N/A The quiet flag will suppress any setup UX, including rollback UXExample: setup.exe /auto upgrade /quiet
/pkey <product key> 5x5 product key Supplies setup with the specified product key. This parameter is not necessary when upgrading with volume licensed media or media that contains a pid.txt in the sources folder.Example: setup.exe /auto upgrade /pkey ABC12-DEF34-GHI56-JKL78-MNP90
/showoobe <parameter> Full; None When /showoobe is set to Full, the end user must interactively complete OOBE. Alternatively, when /showoobe is set to None, OOBE is skipped and components are set to their default settings.Example: setup.exe /auto upgrade /showoobe full
/noreboot N/A Setup will not automatically reboot the PC when it completes down-level OS tasks. The next time the PC is rebooted, setup will continue.Example: setup.exe /auto upgrade /noreboot
/DynamicUpdate <parameter> Enable; Disable Specifies whether setup will perform Dynamic Update operations (search, download, and install updates).Example: setup.exe /auto upgrade DynamicUpdate disable
/Postoobe <location>\setupcomplete.cmd Local file path or UNC network path to a file named setupcomplete.cmd Injects setupcomplete.cmd file from the specified location. Setupcomplete.cmd is a customized script to perform tasks after the installation completes but before first user login. It is run with System privileges.Example: setup.exe /auto upgrade /postoobe c:\script\setupcomplete.cmd
/Postrollback <location> Local file path or UNC network path to a file named setuprollback.cmd Injects setuprollback.cmd file from the specified location. Setuprolback.cmd is a customized script to perform tasks after the installation fails and the PC has rolled back to its previous OS. It is run via RunOnce key on login and runs with same permissions as the “user” that is logging in.Example: setup.exe /auto upgrade /postrollback \\MyShare\script\setuprollback.cmd
/installfrom <location> Local file path or network path to a specific .wim Specifies location for installation source media/filesExample: setup.exe /auto clean /installfrom d:\myWim\customwim.wim
/PBRUpdate <parameter> Enable; Disable When /PBRUpdate is set to Enable, setup will update or create the PBR partition. Conversely, when /PBRUpdate is set to Disable, setup will not update or create the PBR partitionExample: setup.exe /auto upgrade /PBRupdate disable
/migratealldrivers <paramenter> All; None When /migratealldrivers is set to All, setup will attempt to migrate all drivers as part of the installation. In contrast, when /migratealldrivers is set to None, setup will not migrate any drivers as part of the installation.NOTE: this switch should only be used in testing and test envoriments. It should not be used in production.Example: setup.exe /auto upgrade /migratealldrivers none
/installdrivers <location> Local file path or UNC network path to a folder that contains .inf files Setup will inject all driver .infs found in the specified location during the installation process. Setup will recursively search through all the subfolders of the specified location.Example: setup.exe /auto upgrade /installdrivers c:\myUpgrade\drivers
/Telemetry <parameter> Enable; Disable When /Telemetry is set to Enable, setup will collect and upload telemetry generated by the installation. However, when /Telemetry is set to Disable, setup will not collect and upload installation-related telemetry.Example: setup.exe /auto upgrade /Telemetry enable
/copylogs <location> Local file paths and UNC network paths Upon failure, setup will copy or upload compressed logs to the specified location.Please note that the PC and/or user must have permission and network access to the specified file path. This command runs in the system context so may not have permissions to copy to locations that require user permissionsExample: setup.exe /auto upgrade /copylogs \\MyShare\UpgradeLogs

Scenario-Based Usage

An admin wants to upgrade the departments PCs from Windows 7 Enterprise overnight. He does not want the setup user interface to appear, but she does want the end users to manually go through the Out of box experience (known as OOBE) experience. The following command line can be used to orchestrate the full upgrade to Windows vNext, requiring user input only once the machine reaches OOBE:

Setup.exe /auto upgrade /quiet /showoobe full

Alternatively, a deployment engineer may want to collect logs and other diagnostic information from test PCs in the event of a failure. The following command line instructs setup invoke the setuprollback.cmd script after an installation failure:

Setup.exe /auto upgrade /installdrivers c:\myUpgrade\drivers /postrollback c:\setuprollback.cmd

Comments

  • Anonymous
    January 08, 2016
    The example for /DynamicUpdate is missing the leading /. It should be "Example: setup.exe /auto upgrade DynamicUpdate disable"
  • Anonymous
    July 21, 2017
    is PBRUpdate possible in 1703 or is unsupported anymore?
  • Anonymous
    November 01, 2017
    Is it possible to auto select windows 10 enterprise from the windows versions menu?
    • Anonymous
      November 15, 2017
      I've been searching for an answer to this too. Have you found an answer yet?
      • Anonymous
        December 21, 2017
        Update the EI.CFG in the sources folder and it will automatically select. Should read:[EditionID]Enterprise[Channel]volume[VL]1
      • Anonymous
        January 22, 2018
        Maybe this will help. Took some time to find it. Added a comment about the Metadata and ImageXhttps://superuser.com/questions/715368/how-to-bypass-the-os-edition-selection-page-in-a-windows-unattended-setup/1287841#1287841
      • Anonymous
        January 30, 2018
        Use an autounattend.xml file for this.
      • Anonymous
        February 13, 2018
        I also have been looking for a way to select a specific version