Sysprep (System Preparation) prepares a Windows installation (Windows client and Windows Server) for imaging, allowing you to capture a customized installation. Sysprep removes PC-specific information from a Windows installation, "generalizing" the installation so it can be installed on different PCs. With Sysprep you can configure the PC to boot to audit mode, where you can make additional changes or updates to your image. Or, you can configure Windows to boot to the Out-of-Box Experience (OOBE).
Sysprep is part of the Windows image, and is used during audit mode.
Sysprep provides the following features:
Removes PC-specific information from the Windows image, including the PC’s security identifier (SID). This allows you to capture the image and apply it to other PCs. This is known as generalizing the PC.
Uninstalls PC-specific drivers from the Windows image.
Prepares the PC for delivery to a customer by setting the PC to boot to OOBE.
Allows you to add answer file (unattend) settings to an existing installation.
Sysprep helps you solve business goals such as:
Helps you manage multiple PCs by creating a generic image that can be used across multiple hardware designs.
Deploy PCs by capturing and deploying images with unique security identifiers.
Fine-tune setup of individual PCs by adding apps, languages, or drivers in audit mode. For more information, see Audit Mode Overview.
Provide more reliable PCs by testing in audit mode before delivering them to customers.
New and changed functionality
Beginning with Windows 10, version 1607, Sysprep can be used to prepare an image that has been upgraded. For example:
- You can start with a computer that runs Windows 10, version 1511 or Windows 10, version 1507.
- Upgrade the computer to run Windows 10, version 1607.
- Run Sysprep generalize on the upgraded image, re-capture the updated image, and deploy the image to new devices.
This process allows enterprises to efficiently and continuously roll out up-to-date Windows 10 deployment images.
Beginning with Windows 8.1, the Sysprep user interface is deprecated. The Sysprep UI will continue to be supported in this release however it may be removed in a future release. We recommend that you update your deployment workflow to use Sysprep from the command line. For more information, see Sysprep Command-Line Options.
You must run Windows Setup before you use Sysprep.
You need a tool to capture an image of the installation, such as DISM - Deployment Image Servicing and Management Technical Reference for Windows or other disk-imaging software.
When you copy Windows images between PCs, the reference and destination PCs may not have to have compatible hardware abstraction layers (HALs). The /detecthal option in the Boot Configuration Data (BCD) enables a system that has already run Sysprep to install the correct HAL.
Sysprep has the following limitations:
The security identifier (SID) is only replaced on the operating system volume when you execute Sysprep. If a single PC has multiple operating systems, you must run Sysprep on each image individually.
In some cases, customized applications that you install before you recapture the Windows image may require a consistent drive letter. Some applications store paths that include the system's drive letter. Uninstallation, servicing, and repair scenarios may not function correctly if the system's drive letter does not match the drive letter that the application specifies.
The Plug and Play devices on the reference and destination PCs do not have to be from the same manufacturer. These devices include modems, sound cards, network adapters, and video cards. However, the installation must include the drivers for these devices.
Not all server roles support Sysprep. If you generalize a Windows Server installation that has specific server roles configured, those server roles may not continue to function after the imaging and deployment process. For more information, see Sysprep Support for Server Roles.
If you run Sysprep on an NTFS file system partition that contains encrypted files or folders, the data in those folders becomes completely unreadable and unrecoverable.
The Sysprep tool runs only if the PC is a member of a workgroup, not a domain. If the PC is joined to a domain, Sysprep removes the PC from the domain.
If a PC is joined to a domain, and the Group Policy of that domain assigns a strong account password policy to the PC, all user accounts will require strong passwords. Running Sysprep or OOBE does not remove the strong password policy.
If you do not assign a strong password to a user account before you run Sysprep or OOBE, you may not be able to log on to the PC. We recommend that you always use strong passwords for your user accounts.
The following scenarios are not supported:
Moving or copying a Windows image to a different PC without generalizing the PC is not supported.
Using a different version of the Sysprep tool to configure an image is not supported. You must use only the version of the Sysprep tool that is installed with the Windows image that you intend to configure. Sysprep is installed with every version of Windows. You must always run Sysprep from the %WINDIR%\system32\sysprep directory.
If you are using a version of Windows earlier than Windows 10, Version 1607, using the Sysprep tool on upgrade installation types, or to reconfigure an existing installation of Windows that has already been deployed is not supported. In this case, Sysprep must be used only to configure new installations of Windows. You can run Sysprep an unlimited number of times to build and configure your installation of Windows.
Automating Sysprep by using a Microsoft-Windows-Deployment\RunSynchronous command is not supported. However, you can use the Microsoft-Windows-Deployment\Generalize setting to prepare the PC for imaging after installation.
Running VM mode outside a virtual machine (VM) is unsupported. You cannot use VM mode to prepare a VHD for deployment to any PC.
Sysprep cannot be run under the context of a System account. Running Sysprep under the context of System account by using Task Scheduler or PSExec, for example, is not supported.
The following table contains links to resources related to this scenario.
Tools and settings