Make it work: Preparing Windows 10 deployment for Sysprep

Part of the process used in creating a Windows image that can be deployed to multiple PCs is using Sysprep to generalize the image. Sysprep removes the system ID (the computer’s SID) from the Windows installation so that it can be safely cloned.

Those who have worked in IT for a long time know that Sysprep has been around for decades. Unfortunately, the tool is starting to show its age. If you have ever tried to use Sysprep to generalize a Windows 10 deployment, you have likely received an error message similar to the one shown in the screenshot below. So let’s take a look at why Sysprep tends to be so problematic, and what you can do to get around these potential errors.


If you try to generalize a Windows 10 deployment using Sysprep, you are likely to receive an error message like the one you see above.

Sysprep errors in Windows 10 are very often tied to the existence of modern Windows applications (Metro apps, Windows Store apps, or whatever Microsoft is calling them this week). Getting a handle on these apps is key to making Sysprep work.

In preparation for this article, I set up a virtual machine and installed a clean copy of Windows 10. You can see this Windows installation in the image below. One of the first things that I am sure that you will notice is all of the bloatware that is installed by default. Keep in mind that I didn’t install a consumer edition of Windows. This edition is geared toward businesses. Hence, an administrator who wishes to Sysprep this image probably wants to first remove Netflix, Candy Crush Saga, and all of the rest of the garbage that is completely out-of-place in a business environment.


While getting rid of the unwanted applications and possibly installing a few business apps prior to running Sysprep sounds like a sound strategy, there is a problem with doing so. According to Microsoft, “installing new Microsoft Store apps or updating your existing Microsoft Store apps before generalizing a Windows image will cause Sysprep to fail.”

In other words, the very existence of the unwanted applications can in a roundabout way cause Sysprep to fail, because once Windows has been installed it almost immediately launches into an update cycle, and the update process can break Sysprep.

If you want to deploy and then Sysprep Windows, then my advice is to begin the process by downloading the most current deployment image possible. Since updating Windows before running Sysprep tends to cause problems, it is best to start out with an up-to-date deployment image, so as to minimize the updates that are going to be required later on.

Installation process

As for the installation process, install Windows into a virtual machine just as you normally would, but with one caveat. Before you begin the installation process, disconnect the virtual network adapter. This will prevent Windows from downloading any updates. When Windows is installed in this way, the Start menu will appear somewhat incomplete, as shown below.

Fire up PowerShell

Now you can begin removing the unwanted application packages. There are a few different ways of doing this, but I personally prefer to use PowerShell. From an administrative PowerShell session enter the following command:

Get-AppxProvisionedPackage -Online | Select-Object PackageName

This command lists all of the application packages that are currently installed. You can remove a package by using this command:

Remove-AppxProvisionedPackage -Online -PackageName <package name>

You can see what these commands look like in the next image. It is worth noting that I am using copy and paste to help reduce the amount of typing required when entering package names. It is also worth noting that you don’t have to remove every package. Some packages, such as the calculator, may have business value.

Remove the applications

Now that the unwanted application packages have been removed, it is time to remove the actual applications. To do so, you can use these commands:

Get-AppxPackage | Select-Object Name
Get-AppxPackage *name* | Remove-AppxPackage

The first command lists all of the applications that are installed, while the second command performs the removal of a specific application (replace *name* with the application package). You can see an example of this below.


By the time that you get done, the Windows desktop will probably look something like what you see below. As you can see in the screenshot, there may be a few leftover start menu tiles that you have to manually remove.


After a few mouse clicks, the unwanted tiles are gone.


Now it’s time to try running Sysprep again. This time, Sysprep is able to generalize Windows without any issues. When you run Sysprep, be sure to choose the option to shut down the PC once Sysprep completes.


Key to making Sysprep work

As you can see, the key to making Sysprep work with Windows 10 is to disconnect the network adapter to prevent any updates from being installed, remove any unwanted apps, and avoid installing any modern applications. Supposedly, it is possible to install applications prior to performing a Sysprep so long as you sideload those applications, but I have never tried it, so I don’t know if the technique actually works or not.

If you have taken the time to work through the process of preparing a PC for Sysprep, then you have no doubt noticed that the preparation process is tedious and time-consuming. If you find that you need to use Sysprep to create new images on a periodic basis, then I would strongly recommend creating a PowerShell script that automates the cleanup process. Building such a script would involve a little bit more time up front, but would be a huge time saver later.

Featured image: Shutterstock

Brien Posey

Brien Posey is a freelance technology author and speaker with over two decades of IT experience. Prior to going freelance, Brien was a CIO for a national chain of hospitals and healthcare facilities. He has also served as a network engineer for the United States Department of Defense at Fort Knox. In addition, Brien has worked as a network administrator for some of the largest insurance companies in America. To date, Brien has received Microsoft’s MVP award numerous times in categories including Windows Server, IIS, Exchange Server, and File Systems / Storage. You can visit Brien’s Website at: www.brienposey.com.

Share
Published by
Brien Posey

Recent Posts

Top 7 open source intelligence tools lighting it up in 2019

As open source becomes the norm, open source intelligence tools are in demand. Here are a few that are already…

2 hours ago

Land of the dinosaurs: Is CapEx IT about to go extinct?

As businesses head to the cloud, will CapEx IT be a thing of the past? Or will there always be…

6 hours ago

Exchange DAG: Set it up before a disaster takes you down

Don’t be this IT admin: Disaster hits and all you can say is, “I should have set up a database…

9 hours ago

8 tips for protecting online privacy and maintaining anonymity

In protecting online privacy, the actions you take are far more important than any legal framework that could be put…

3 days ago

Cryptomining arrest only the start of problems for these nuke plant workers

Cryptomining on the job behind the boss’s back is bad enough, but when the employees work in a nuclear power…

3 days ago

Does it make sense to purchase a lifetime VPN subscription?

Cybersecurity experts recommend setting up a VPN to secure your data and privacy. But is purchasing a lifetime VPN subscription…

3 days ago